2013-03-18 117 views
0

我需要将我的代码从C++/OpenGL和Config.txt情境移动到UI友好的空间。我被告知在这里尝试Qt并将其安装在Windows中。使用OpenGL重建Qt5.0.2,如何与Qt Creator一起使用

我碰到的问题是,它不支持我需要的OpenGL版本,我不得不使用-opengl桌面参数重新编译。

第一次这样做,但能够按照指示(和一吨谷歌),它“成功”建成。我现在的问题是我不确定如何制作我与Qt Creator合作的文件。

我复制了从git创建的qt5文件夹中的所有文件夹到Qt5.0.1/5.0.1/Src中的Src文件夹,但hellogl示例仍然无法生成。

我检查了选项,它指向Qt5.0.1/5.0.1/msvc2010/bin中的qmake,因此我将qmake.exe从qtbase/qmake复制到此文件夹(重命名旧文件夹)和现在Qt Creator在我的Windows系统上构建hellogl示例。

我担心的是,我是否以正确的方式做到了这一点?我摸索周围,得到东西,但这是我应该从git构建qt5后继续进行的方式?如果不是,我应该怎么做才能使它与Qt Creator一起工作?

回答

0

在Qt中利用现代OpenGL功能集(后固定功能管道)的典型方法是利用扩展代号(GLEW)来查找图形驱动程序支持的所有OpenGL功能之前,Qt包括任何OpenGL头文件。

要做到这一点只需做到以下几点:

  1. 如果你已经没有,下载GLEW(或另一部分牧马人,如果你愿意的话),并在系统路径安装它。我会推荐32位软件包,因为它会更容易处理。

  2. #include glew.h在你的源代码之前,任何其他Qt头包括可能会使用OpenGL标头。为了安全起见,请将glew.h作为源代码中包含的第一个头文件。

  3. 在您的Qt项目的.pro文件中,添加行LIBS += -lGLEW(mac/linux)或LIBS += -lglew32(windows)。

注意:当心实现使用后固定功能管线设施的应用程序时使用Qt的OpenGL包装的。 Qt 5的OpenGL包装都使用OpenGL ES 2.0规范进行操作,这可能会在与OpenGL 3/4代码交错时导致问题。即使QPainter在对QGLWidget进行重叠绘图时也会变得麻烦,因为它大量使用了固定功能转换堆栈。我目前正在开发一个名为QGLX的库,它提供了为符合现代桌面OpenGL规范而设计的替代Qt包装器。测试版有望在今年年底发布Qt 4 & Qt 5.

+0

因此,我会在标准的Qt Windows版本中使用GLEW,而不是从Git完全重建?并感谢您的答复,迄今为止,我一直在重建系统有所作为。 – Poken1151 2013-03-19 23:22:04