首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MSVC2010使用/MT编译静态QT库

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

Stack Overflow用户
提问于 2012-12-20 23:15:42
回答 2查看 1.7K关注 0票数 1

我正在尝试使用/MT (运行时静态链接)静态地构建QT库。

我执行了以下步骤: 1.转到qmake.conf文件,在发布和调试配置中将/MD修改为/MT 2.我运行配置命令,如下所示: configure -static -opensource 3.我运行nmake

问题是nmake在运行几秒钟后就失败了。以下是最后的输出:

代码语言:javascript
复制
[..........]
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.

那么,你是不是也遇到了同样的结果?有人知道怎么解决这个问题吗?提前谢谢你,

干杯,迪达克·佩雷斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-25 01:52:35

这是一个关于使用MSVC静态构建Qt源代码的已知Qt错误:

https://bugreports.qt-project.org/browse/QTBUG-28761

https://bugreports.qt-project.org/browse/QTBUG-28989

票数 1
EN

Stack Overflow用户

发布于 2012-12-20 23:36:48

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

代码语言:javascript
复制
#include "../../../../../../../../f:/utils/Qt/5.0.0/Src/qtbase/src/xml/dom/qdom.h"

我不得不搬到:

代码语言:javascript
复制
#include "../../src/xml/dom/qdom.h"

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

致以亲切的问候,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13975165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档