题
我安装了 wxWidgets 源代码,对其进行了编译,并将由此获得的库与我的应用程序代码链接起来。现在我需要在我的 wxWidgets 应用程序中使用 OpenGL。我如何启用此功能?
解决方案
对于使用项目文件在 Windows 上构建:
假设 $(WXWIDGETSROOT) 是 wxWidgets 安装的根目录。
- 打开文件 $(WXWIDGETSROOT)\include\wx\msw\setup.h
- 搜索
#define
为了wxUSE_GLCANVAS
. - 将其值从 0 更改为 1。
- 重新编译库。
用于在 Linux 和其他平台上构建 ./configure
基于平台:
只需使用 ./configure --with-opengl
(其他人给出的两个部分答案的混搭答案)
其他提示
如果您正在使用 configure
要构建 wxWidgets 你只需要添加 --with-opengl
到你的命令行。
只是补充一点...如果您使用的是 Linux,则需要在运行配置时查看日志。如果它找不到 opengl 开发包,那么它会关闭 opengl,并显示一行很容易被忽略的警告。
像这样运行它,可以更明显地看出您实际上缺少哪些开发库(看起来 --with-opengl 在 3.0.0 以及可能更早版本的 wxwidgets 中默认处于打开状态,但包含它也没什么坏处我怀疑)。
./configure --with-opengl > configure.log
一旦配置可以找到您认为将要使用的所有开发库,您需要重建 wxwidgets:
make
sudo make install
我必须在 linux mint 上安装这些,以使 wxwidget 的配置满意,就 opengl 而言(并且也应该适用于 ubuntu)以获得我需要的开发库。
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
(假设 $(WX_WIDGETS_ROOT) 是 wxWidgets 安装的根目录。)
- 打开文件 $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
- 搜索并找到选项wxUSE_GLCANVAS。将其值从 0 更改为 1。
- 重新编译库。
不隶属于 StackOverflow