这是我第一次使用Embarcadero RAD Studio(C ++,不是Delphi),尽管在其网站和Internet上进行了许多搜索,但我仍然对某些概念感到困惑。
到目前为止,我的目标是设置OpenGL核心配置文件并继续使用OGL(我已经熟悉)。对于其他IDE /编译器,我将添加opengl32
库,并使用wglCreateContextAttribsARB
和glew
。
深入Embarcadero文件,我发现C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win32\release\psdk\opengl32.lib
,C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win32c\release\psdk\opengl32.lib
(注意win32之后的'c',那是什么?)和C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win64\release\psdk\opengl32.a
所以我想我可以只是“ Project-> Add to Project ...”库,而不是像许多年前看来从Windows系统中导入“ Import”。但是我很困惑,因为RAD可能会自己添加所需的库,至少对于控件而言,对吧?
但是我遇到了“ .pas”文件,该文件似乎可以加载任何需要的文件。实际上,C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\win\Winapi.OpenGLext.pas
似乎足够,所以我可以避免使用glew
。我的困惑是我不知道是否可以将“ .pas”文件(以及如何)用于VCL C ++,而不是Firemonkey,而不是Delphi。
我找不到wglCreateContextAttribsARB
,也找不到设置Core Profile上下文的替代方法。
总结:
win32
和win32c
dirs之间有什么区别?wglCreateContextAttribsARB
还是RAD提供了另一种方法?答案 0 :(得分:1)
1。是否需要添加系统库?怎么样?
通常是。除非您使用的组件已完成添加库的操作。在Win32中,您必须使用#pragma link "opengl32.lib"
;在Win64中,您必须将#pragma link "opengl32.a"
添加到您的cpp代码中。
2。如何使用“ .pas”文件?
您不需要将源目录中的文件添加到您的项目中。 Embarcadero非常好,可以在产品中包含其大多数组件的源代码。这样一来,您便可以了解其工作原理,并且如果需要更改某些行为,则可以创建一个从所需类派生的新类,并覆盖相关功能。通常,C ++ Builder允许将Pascal单位添加到C ++项目中,并且它将负责自动创建头文件。但您的情况则没有必要。
3。win32和win32c dirs有什么区别?
C ++构建器随附2个用于Windows的32位编译器。一个基于clang并支持C ++ 14,并且使用它编译的库位于win32
目录中。另一个是经典编译器,使用它编译的库位于win32c
目录中。除非您在项目设置中选中了“使用经典编译器”,否则您不必担心。
4。如何设置OGL Core Profile上下文?我的意思是,我应该遵循检索指向wglCreateContextAttribsARB的函数指针的路线 还是RAD提供了另一种方法?
我不知道RAD studio可能提供的任何组件。您应该搜索https://torry.net/或http://www.delphipages.com/或更多存在的地方,以寻找有助于您所需的组件。
5。RAD是否为C ++提供了替换问题的方法?
什么是“ glew”?