2

我是 Qt 的新手,正在尝试配置我的 Qt5 环境以使用 OpenGL 小部件。我在网上关注了许多教程和花絮,但似乎没有任何效果。我在设计器中创建了一个窗口,然后手动将我自己的 QGLWidget 子类添加到窗口的布局中(根据教程说明)。我也填写了paintGL initializeGLandresizeGL函数。我以前使用过 glut glew,所以我将 glew 扔进了 Qt 的构建路径。我了解到,为了在 Qt 中使用 glew,您不能包含 Qt OpenGL 头文件。我还定义了QT_NO_OPENGL_ESQT_NO_OPENGL_ES_2

但是,无论我做什么,我都无法让我的窗口显示黑色以外的任何内容——它甚至无法显示颜色。此外,我的小部件类中有一些打印语句以指示 OpenGL 和 GLSL 版本,但在我退出窗口之前什么都不会打印。从那里我得到 Glew 错误“缺少 GL 版本”。更新:我不知道这是否是由于有不同的窗口(我不熟悉)或者这些方法奇怪地直到我关闭窗口才被调用(为什么?)。

我尝试了来自互联网的各种建议组合,但没有任何帮助。我想要的只是能够使用最新的(我的 comp 上的 4.2)OpenGL 和 Qt(用于小部件)。

技术规格:

  • qt 5
  • Mingw编译器
  • Windows 7的
  • Glew 正在静态链接 (.a)
4

1 回答 1

0

我不知道你在哪个平台上,但我在使用 QGLWidget 构建一个简单的应用程序时遇到了同样的问题(没有任何反应),我写了一个小指南,希望它对你有所帮助。

所以我建议你的是一个全新的安装。我从来没有使用过 glew,所以我的将是没有它的解决方案。

如果您需要修复当前设置,请不要阅读下一步。

简单的方法:

1:安装qt-windows-opensource-5.0.2-msvc2010_32_opengl-x86-offline

2:从微软安装 Visual Studio Express(免费,我们需要它的编译器)

3:确保你在windows/system32和windows/sysWOW64中有glu32.dll,glut32.dll,opengl32.dll

4:在Qt中设置msvc x86编译器

艰辛的道路:

如果你使用的是 VS2012 编译器并且你想在这里使用它(你必须重新编译 QT):

1:安装qt-windows-opensource-5.0.1-mingw47_32-x86-offline(安装过程中检查语音“Souce”)

2:从微软安装 Visual Studio Express(免费,我们需要它的编译器)

3:安装草莓Perl 5.16.3.1(32位)

4:创建一个新文件夹,如 C:\Qt\Qt5.0.1\5.0.1\Src\NuovaCartella

5:打开VS2012 x86命令,放到创建的文件夹中

6:粘贴这个

C:\Qt\Qt5.0.1\5.0.1\Src\qtbase\configure -developer-build -opensource -nomake 示例 -nomake 测试 -opengl desktop -mp

7: nmake确认

8:确保在windows/system32和windows/sysWOW64中有glu32.dll,glut32.dll,opengl32.dll

9:打开

Qt->工具->选项->构建&运行->QtVersion->添加

并设置您可以在 C:\Qt\Qt5.0.1\5.0.1\Src\NuovaCartella\bin 中找到的 qmake

10:

选项->构建&运行->工具包->添加

并设置 C++ 编译器 v11.0 x86 并在标签 QtVersion 下设置 Qt 5.0.1(NuovaCartella)

希望能帮助到你。

于 2013-06-25T22:55:35.600 回答