使用MSVC2010编译静态QT库/ MT [英] Compiling static QT libraries with /MT using MSVC2010

查看:325
本文介绍了使用MSVC2010编译静态QT库/ MT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图静态和/ MT(运行时静态链接)。

I am trying to build QT libraries statically and with /MT (runtime static linking).

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

I have followed the next steps: 1. Go to qmake.conf file and modify /MD to /MT in both release and debug configurations 2. I run configure command like this: configure -static -opensource 3. I run nmake

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

The problem is that nmake fails a few seconds after running. Here are the last output:

[..........]
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.

请问您是否遇到相同的结果?任何人都知道如何解决这个问题?先感谢,

Please, are you experiencing the same result? Anybody know how to solve this problem? Thanks in advance,

干杯,
DídacPérez

Cheers, Dídac Pérez

推荐答案

这是一个已知的Qt bug的静态构建的Qt源MSVC:

This is a known Qt bug on static building of Qt source with MSVC:

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

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

这篇关于使用MSVC2010编译静态QT库/ MT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆