【发布时间】:2017-01-21 07:38:33
【问题描述】:
如标题中所述,我在 Qt 5.4.2 构建过程中遇到了奇怪的行为。
我想让 qt 能够使用静态库编译二进制文件,所以这是我的 configure 选项:
configure -static -release -platform win32-msvc2010 -qt-sql-db2 -qt-sql-odbc
-no-angle -no-opengl
一开始没有-no-angle -no-opengl,但为了消除nmake错误,我添加了它。
但是,即使在配置中禁用它后,我仍然会收到 opengl 构建错误!
OpenGL support..............no
在nmake之后:
c:\qt-src-5.4.2\qtbase\include\qtgui\5.4.2\qtgui\private\../../../../../src/gui/
opengl/qopenglextensions_p.h(147) : error C2059: syntax error: )
c:\qt-src-5.4.2\qtbase\include\qtgui\5.4.2\qtgui\private\../../../../../src/gui/
opengl/qopenglextensions_p.h(147) : error C2061: syntax error: identifier
"GLint"
c:\qt-src-5.4.2\qtbase\include\qtgui\5.4.2\qtgui\private\../../../../../src/gui/
opengl/qopenglextensions_p.h(147) : fatal error C1003: error count exceeds 100;
stopping compilation.
Generating code...
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\
VC\BIN\amd64\cl.EXE" : return code "0x2"
Stop.
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\
VC\BIN\amd64\nmake.exe" : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
我也尝试过-opengl desktop,但它只会导致类似的失败,只是稍后。
使用该选项 Qt 告诉我们:
qaccessible.cpp
c:\qt-src-5.4.2\qtbase\include\qtgui\../../src/gui/opengl/qopengl.h(99) : fatal
error C1083: Cannot open include file: GLES2/gl2.h: No such file or dir
ectory
qaccessiblecache.cpp
qaccessibleobject.cpp
qaccessibleplugin.cpp
qplatformaccessibility.cpp
qaccessiblebridge.cpp
Generating code...
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\
VC\BIN\amd64\cl.EXE" : return code "0x2"
Stop.
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\
VC\BIN\amd64\nmake.exe" : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
NMAKE : fatal error U1077: cd : return code "0x2"
Stop.
我应该怎么做才能成功编译Qt?
【问题讨论】:
-
不要在 Qt 中使用
nmake。使用jom。不确定这是否与问题有关,但至少 Qt 自己的jom由于构建并行化而更快,并保证与 Qt 构建兼容。 -
我没有成功解决这个问题。移至 Qt 5.8 和 msvc 2015。似乎不支持 msvc2010。如果有必要完全使用 msvc2010,你最好坚持使用 qt4 变体(qt4.8 工作得很好,但它对我的目的来说太旧了)
标签: c++ qt visual-studio-2010 opengl nmake