使用MSVC2010使用/ MT编译静态QT库

我正在试图静态构buildQT库和/ MT(运行时静态链接)。

我按照下面的步骤进行:1.在qmake.conf文件中,在release和debugconfiguration中修改/ MD到/ MT 2.运行configure命令,如下所示:configure -static -opensource 3.运行nmake

问题是nmake在运行几秒后失败。 这是最后的输出:

[..........] qjson.cpp qjsondocument.cpp qjsonobject.cpp qjsonarray.cpp qjsonvalue.cpp qjsonparser.cpp qjsonwriter.cpp Generating Code... cl -c -nologo -Zm200 -Zc:wchar_t -O2 -MT -W3 -w34100 -w34189 -GR -DUNICO DE -DWIN32 -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_COD ECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT _NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT _NO_TRANSLATION -DQT_QMAKE_LOCATION=\"F:/utils/Qt/5.0.0/Src/qtbase/bin/qmake\" - DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST _WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_ DISABLE_DEPRECATED_BEFORE=0x040800 -D_USE_MATH_DEFINES -DQT_NO_DEBUG -DQT_NO_EXC EPTIONS -I"..\..\..\include" -I"..\..\..\include\QtCore" -I"..\..\..\include\QtC ore\5.0.0" -I"..\..\..\include\QtCore\5.0.0\QtCore" -I"..\..\..\include\QtXml" - I"F:\utils\Qt\5.0.0\Src\qtbase\include\QtXml\5.0.0" -I"F:\utils\Qt\5.0.0\Src\qtb ase\include\QtXml\5.0.0\QtXml" -I"tmp" -I"..\..\corelib\global" -I"..\..\3rdpart y\zlib" -I"..\..\..\mkspecs\win32-msvc2010" -Fo.obj\release_static\ @C:\Users\DI DAC~1.PER\AppData\Local\Temp\nmE62A.tmp qdom.cpp ..\..\..\include\QtXml\qdom.h(1) : fatal error C1083: Cannot open include file: '../../../../../../../../f:/utils/Qt/5.0.0/Src/qtbase/src/xml/dom/qdom.h': Inval id argument 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. 

请问,你遇到同样的结果? 有人知道如何解决这个问题? 提前致谢,

干杯,Dídac佩雷斯

Solutions Collecting From Web of "使用MSVC2010使用/ MT编译静态QT库"

我已经修复了错误。 我认为configure命令生成错误的头文件。 例如,qtbase / include / qtxml中的qdom.h是这样的:

 #include "../../../../../../../../f:/utils/Qt/5.0.0/Src/qtbase/src/xml/dom/qdom.h" 

我不得不搬到:

 #include "../../src/xml/dom/qdom.h" 

现在它工作。 也许这是qt构建系统的问题。

亲切的问候,