Qt不会创建OpenGL上下文



我是Qt的新手,正在尝试将Qt5环境配置为使用OpenGL小部件。我在网上看了很多教程和花絮,但似乎什么都不起作用。我在Designer中创建了一个窗口,然后手动将我自己的QGLWidget子类添加到窗口的布局中(根据教程说明)。我还填写了paintGLinitializeGLresizeGL函数。我之前使用的是glut-glew,所以我把glew加入了Qt的构建路径。我已经了解到,为了在Qt中使用glew,您不能包含Qt OpenGL头。我还定义了QT_NO_OPENGL_ESQT_NO_OPENGL_ES_2

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

我试过各种各样的建议组合,但都无济于事。我想要的只是能够使用最新的(我的comp上的4.2)OpenGL和Qt(用于小部件)。

技术规格:

  • 问题5
  • Mingw编译器
  • Windows 7
  • Glew正在静态链接(.a)

我不知道你在哪个平台上,但我在用QGLWidget构建一个简单的应用程序时遇到了同样的问题(什么都没发生),我写了一个小指南,希望它能帮助你。

所以我建议你做一个全新的装置。我从来没有用过glew,所以如果没有它,我的解决方案就是这样

如果你需要的是修复你当前的设置,不要阅读下一步的内容。

简单方法:

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

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

3:请确保您在windows/system32和windows/sysWOW64

4:在Qt中设置msvcx86编译器

艰难的道路:

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

1:离线安装qt-windows-opensource-5.0.1-mingw47_32-x86(在安装过程中检查语音"Souce")

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

3:安装Strawberry 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-开发者构建-开源-nomake示例-nomake测试-opengl桌面-mp

7:请确认

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)

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新