QtCreator:静态库但仍然要求DLL

时间:2011-07-03 18:33:05

标签: qt static-libraries qt-creator

我正在使用QtCreator,我有两个项目,每个项目都有一个自己的PRO文件。
查看器是一个普通的Qt应用程序。 另一个,我们称之为Utilities,应该是一个静态库,在Viewer中使用。

然而,当我编译并运行Viewer(一切编译正常)时,我收到一条错误消息,告诉我找不到Utilities.dll。

这是实用程序PRO文件的第一部分:

QT       -= core gui

TARGET = Utilities
TEMPLATE = lib
CONFIG += staticlib warn_on $$(QMAKESPEC)

不应该那样工作吗?

为什么编译Utilities.a文件很好但是在运行时问我DLL?它应该是一个静态库:(
由于我没有在Utilities.pro中指定一些必需的库,因此它显然没有按照您对静态库的期望进行链接。

我的平台是W7-x64,最新的Qt SDK和MingW 4.4捆绑在一起。 希望任何人都可以提供帮助:/

谢谢!

1 个答案:

答案 0 :(得分:0)

CONFIG += staticlib请求你的目标库是一个静态库而不是整个依赖链......我很确定你的.a lib需要{{1} dll跑...

如果你想减少依赖关系,试试mingw工具链(Qt为此提供预编译的包),你将以一个或两个强制的dll依赖关系结束。或者您可以再次链接静态MSVC SDK(您可能需要自己构建它...)。