Qt和静态lib文件 - 如何编译

时间:2013-01-25 15:03:31

标签: c++ c windows qt qt5

我需要构建一个Qt5 64位程序,它链接到静态.lib库(用/ MT编译)。我尝试将下面的行从MD更改为MT:

QMAKE_CFLAGS_RELEASE    = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG      = -Zi –MTd

在文件D:\ Qt \ Qt5.0.0src \ qtbase \ mkspecs \ win32-msvc2010 \ qmake.conf

并使用

重新编译它
configure -prefix %CD%\qtbase -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop

然后捏造它,但它失败了:

XPathGrammar.cpp
Generating Code...
        lib /NOLOGO  /OUT:release\WebCore.lib @C:\Users\Paul\AppData\Local\Temp\WebCore.lib.4480.3319717.jom
LINK : fatal error LNK1181: cannot open input file '.obj\release_shared\SettingsMacros.obj'
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore.Target.Release [release\WebCore.lib] Error 1181
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore.Target [release] Error 2
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore [sub-Target-pri-make_first-ordered] Error 2
jom: D:\Qt\Qt5.0.0src\qtwebkit\Makefile [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2
jom: D:\Qt\Qt5.0.0src\Makefile [module-qtwebkit-make_first] Error 2

似乎没有生成“SettingsMacros.obj”文件。那是为什么?

我是否需要在配置字符串中包含“-static”?我知道Qt doesn't get along with /MT但我的项目需要它,否则我将无法链接那些.lib文件

1 个答案:

答案 0 :(得分:1)

是的,您需要添加-static。为我工作。

相关问题