Embarcadero windows 库和包
Embarcadero windows libraries and packages
这是我第一次使用 Embarcadero RAD Studio(C++,而不是 Delphi),尽管在其网站和其他 Internet 上进行了多次搜索,但我仍然对某些概念感到困惑。
到目前为止,我的目标是设置一个 OpenGL 核心配置文件并继续处理 OGL 内容(我很熟悉)。对于其他 IDE/Compiler 我会添加 opengl32
库,使用 wglCreateContextAttribsARB
和 glew
.
深入研究 Embarcadero 文件我发现 C:\Program Files (x86)\Embarcadero\Studio.0\lib\win32\release\psdk\opengl32.lib
、C:\Program Files (x86)\Embarcadero\Studio.0\lib\win32c\release\psdk\opengl32.lib
(注意 win32 之后的 'c',那是什么?)和 C:\Program Files (x86)\Embarcadero\Studio.0\lib\win64\release\psdk\opengl32.a
所以我想我可以只 "Project->Add to Project..." 库,而不是 Windows 系统中的 "import",因为它在很多年前似乎是需要的。但我很困惑,因为 RAD 可能会自己添加所需的库,至少对于控件而言,对吧?
但我遇到了“.pas”文件,它似乎加载了任何需要的东西。实际上,C:\Program Files (x86)\Embarcadero\Studio.0\source\rtl\win\Winapi.OpenGLext.pas
似乎足够了,所以我可以避免 glew
。我的困惑是我不知道“.pas”文件是否可以(以及如何)用于 VCL C++,而不是 Firemonkey,而不是 Delphi.
我找不到 wglCreateContextAttribsARB
,也找不到设置核心配置文件上下文的替代方法。
总结:
- 我需要添加系统库吗?怎么样?
- 如何使用“.pas”文件?
win32
和 win32c
目录有什么区别?
- 如何设置 OGL Core Profile 上下文?我的意思是,我是否应该采用检索函数指针的方式
wglCreateContextAttribsARB
还是 RAD 提供了另一种方式?
- RAD 是否为 C++ 提供了 glew 的替代品?
1.Do I need to add system libs? How?
通常是的。除非您使用的是已负责添加库的组件。在 Win32 中你必须使用 #pragma link "opengl32.lib"
而在 win64 中你必须将 #pragma link "opengl32.a"
添加到你的 cpp 代码中。
2.How to use ".pas" files?
您不需要将源目录中的文件添加到您的项目中。 Embarcadero 非常好,可以将其大部分组件的源代码包含在产品中。这样您就可以了解它是如何工作的,如果您需要更改某些行为,您可以创建一个新的 class 派生自您想要的 class 并覆盖有问题的功能。一般来说,C++ builder 允许将 Pascal 单元添加到 C++ 项目中,它会自动创建头文件。但在你的情况下,这是没有必要的。
3.Which is the difference between win32 and win32c dirs?
C++ 构建器带有 2 个用于 Windows 的 32 位编译器。一个是基于 clang 的,支持 C++14,用它编译的库在 win32
目录中。另一个是 classic 编译器,用它编译的库在 win32c
目录中。除非你勾选了项目设置中的"Use Classic Compiler",否则你不用担心。
4.How to set a OGL Core Profile context? I mean, should I go with the route of retrieving a function pointer to wglCreateContextAttribsARB
or RAD provides another way?
我不知道 RAD studio 可能提供任何组件。您应该搜索 https://torry.net/ or http://www.delphipages.com/ 或更多现有的地方,寻找可以帮助您获得所需内容的组件。
5.Does RAD provide for C++ a replacement of glew?
什么是 "glew"?
这是我第一次使用 Embarcadero RAD Studio(C++,而不是 Delphi),尽管在其网站和其他 Internet 上进行了多次搜索,但我仍然对某些概念感到困惑。
到目前为止,我的目标是设置一个 OpenGL 核心配置文件并继续处理 OGL 内容(我很熟悉)。对于其他 IDE/Compiler 我会添加 opengl32
库,使用 wglCreateContextAttribsARB
和 glew
.
深入研究 Embarcadero 文件我发现 C:\Program Files (x86)\Embarcadero\Studio.0\lib\win32\release\psdk\opengl32.lib
、C:\Program Files (x86)\Embarcadero\Studio.0\lib\win32c\release\psdk\opengl32.lib
(注意 win32 之后的 'c',那是什么?)和 C:\Program Files (x86)\Embarcadero\Studio.0\lib\win64\release\psdk\opengl32.a
所以我想我可以只 "Project->Add to Project..." 库,而不是 Windows 系统中的 "import",因为它在很多年前似乎是需要的。但我很困惑,因为 RAD 可能会自己添加所需的库,至少对于控件而言,对吧?
但我遇到了“.pas”文件,它似乎加载了任何需要的东西。实际上,C:\Program Files (x86)\Embarcadero\Studio.0\source\rtl\win\Winapi.OpenGLext.pas
似乎足够了,所以我可以避免 glew
。我的困惑是我不知道“.pas”文件是否可以(以及如何)用于 VCL C++,而不是 Firemonkey,而不是 Delphi.
我找不到 wglCreateContextAttribsARB
,也找不到设置核心配置文件上下文的替代方法。
总结:
- 我需要添加系统库吗?怎么样?
- 如何使用“.pas”文件?
win32
和win32c
目录有什么区别?- 如何设置 OGL Core Profile 上下文?我的意思是,我是否应该采用检索函数指针的方式
wglCreateContextAttribsARB
还是 RAD 提供了另一种方式? - RAD 是否为 C++ 提供了 glew 的替代品?
1.Do I need to add system libs? How?
通常是的。除非您使用的是已负责添加库的组件。在 Win32 中你必须使用 #pragma link "opengl32.lib"
而在 win64 中你必须将 #pragma link "opengl32.a"
添加到你的 cpp 代码中。
2.How to use ".pas" files?
您不需要将源目录中的文件添加到您的项目中。 Embarcadero 非常好,可以将其大部分组件的源代码包含在产品中。这样您就可以了解它是如何工作的,如果您需要更改某些行为,您可以创建一个新的 class 派生自您想要的 class 并覆盖有问题的功能。一般来说,C++ builder 允许将 Pascal 单元添加到 C++ 项目中,它会自动创建头文件。但在你的情况下,这是没有必要的。
3.Which is the difference between win32 and win32c dirs?
C++ 构建器带有 2 个用于 Windows 的 32 位编译器。一个是基于 clang 的,支持 C++14,用它编译的库在 win32
目录中。另一个是 classic 编译器,用它编译的库在 win32c
目录中。除非你勾选了项目设置中的"Use Classic Compiler",否则你不用担心。
4.How to set a OGL Core Profile context? I mean, should I go with the route of retrieving a function pointer to wglCreateContextAttribsARB or RAD provides another way?
我不知道 RAD studio 可能提供任何组件。您应该搜索 https://torry.net/ or http://www.delphipages.com/ 或更多现有的地方,寻找可以帮助您获得所需内容的组件。
5.Does RAD provide for C++ a replacement of glew?
什么是 "glew"?