使用nmake构建静态版qt
Posted
技术标签:
【中文标题】使用nmake构建静态版qt【英文标题】:using nmake to build a static version qt 【发布时间】:2013-10-03 01:18:26 【问题描述】:我想使用 microsoft visual studio 构建一个静态版本的 qt 5.1.1。我执行了configure -static -release -platform win32-msvc
,然后我执行了nmake,但是出现了这些错误:
c:\qt\qtbase\include\qtgui\../../src/gui/opengl/qopengl.h(82) : fatal error C108
3: Cannot open include file: 'GLES2/gl2.h': No such file or directory
qopenglcontext.cpp
c:\qt\qtbase\include\qtgui\../../src/gui/opengl/qopengl.h(82) : fatal error C108
3: Cannot open include file: 'GLES2/gl2.h': No such file or directory
Generating Code...
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\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.
最后目录中没有 qmake.exe 文件。有什么问题?
【问题讨论】:
【参考方案1】:在 Windows 上,您必须执行以下两项操作之一:
提供system OpenGL implementation 的包含和库路径。这仅在您打算以 Windows XP 为目标时才有意义,因为 ANGLE 由于某种原因在该系统中不起作用。
使用在 DirectX 之上运行的 OpenGL 捆绑 ANGLE 实现。将 -angle
参数添加到配置命令行。在使用 ANGLE 构建 Qt 之前,您必须安装 DirectX SDK。
我建议在平台内提供明确的 Visual Studio 版本。例如,对于 VS2010,使用-platform win32-msvc2010
。无论如何,您对 Qt 5 的选择只有 2008、2010 或 2012、2013、2015。
您也可以从使用jom 代替 nmake 中受益。它会尽量让你的所有核心都被占用,它肯定会在多核机器上更快地构建 Qt。 Jom 是一个临时替代品,无需更改任何内容。这是对 nmake 的并行重新实现。
【讨论】:
【参考方案2】:您正在编译OpenGL ES
版本的Qt
。要在桌面上使用,您应该传递给configure "-opengl desktop"
参数。
【讨论】:
执行configure时出现此错误:WARNING: ANGLE specified, but the DirectX SDK could not be detected: There is no Direct X SDK installed or the environment variable "DXSDK_DIR" is not set.构建很可能会失败。以上是关于使用nmake构建静态版qt的主要内容,如果未能解决你的问题,请参考以下文章
使用 nmake 为 VS2010 构建 Qt 返回链接错误