我安装了 wxWidgets 源代码,对其进行了编译,并将由此获得的库与我的应用程序代码链接起来。现在我需要在我的 wxWidgets 应用程序中使用 OpenGL。我如何启用此功能?

有帮助吗?

解决方案

对于使用项目文件在 Windows 上构建:

假设 $(WXWIDGETSROOT) 是 wxWidgets 安装的根目录。

  1. 打开文件 $(WXWIDGETSROOT)\include\wx\msw\setup.h
  2. 搜索 #define 为了 wxUSE_GLCANVAS.
  3. 将其值从 0 更改为 1。
  4. 重新编译库。

用于在 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 安装的根目录。)

  1. 打开文件 $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
  2. 搜索并找到选项wxUSE_GLCANVAS。将其值从 0 更改为 1。
  3. 重新编译库。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top