所以我试图使用VS2013升级我们的QT 5.5项目,使用VS2015来使用QT 5.7。在编译期间安装完所有内容并正确设置后,我的一些文件错误输出
严重级代码描述项目文件行抑制状态 错误(活动)标识符“GLdouble”未定义myProject c:\ Qt \ 5.7 \ msvc2015_64 \ include \ QtGui \ qopenglfunctions.h 587
我有点不知所措甚至开始寻找解决方案,因为它似乎是QT本身的一个问题?
使用QT 5.7的网络安装程序我在QT 5.7下选择了每个QT库,因为我不确定我是否只是错过了一个库。
答案 0 :(得分:1)
我认为您构建了包含Qt
框架工作的ANGLE
库。
默认情况下,Qt配置为使用ANGLE,它与Qt捆绑在一起并依赖于DirectX SDK(来自文档)
http://doc.qt.io/qt-5/configure-options.html
删除对ANGLE
的依赖。
如果您配置Qt库:
您必须使用-opengl
选项配置Qt
才能在目标系统中使用OpenGL
。
在配置Qt版本时(使用nmake
之前),请尝试以下内容。
configure -debug-and-release -opengl desktop
(以及其他选项)。
这会从您构建的ANGLE
库中排除Qt
,并且您的OpenGL
函数会按预期工作。
什么是ANGLE?:
ANGLE代表Almost Native Graphics Layer Engine。
一种跨平台形式的图形库,它使用硬件支持的图形API。
有关每个平台的ANGLE支持的简要信息,下面的链接中有一个表格。
https://chromium.googlesource.com/angle/angle/+/master/README.md
答案 1 :(得分:0)
刚刚从Qt 5.2.0和VS 2012升级到Qt 5.12.1和VS 2017 15.9.6。对于我来说,错误是“语法错误:标识符'GLdouble'”-我只需要添加一个新的pre -processor指令QT_OPENGL_ES。