QT 5.7 - 错误C2061未识别的标识符GLdouble(qopenglfunctions.h)

时间:2016-12-13 00:49:08

标签: qt qt5.7

所以我试图使用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库,因为我不确定我是否只是错过了一个库。

2 个答案:

答案 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。