【问题标题】:QtCreator: static library but still asking for DLLQtCreator:静态库,但仍要求 DLL
【发布时间】:2011-07-05 02:05:45
【问题描述】:

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

但是,当我编译并运行查看器(一切正常)时,我收到一条错误消息,告诉我未找到 Utilities.dll。

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

QT -= 核心 gui 目标 = 实用程序 模板 = 库 CONFIG += staticlib warn_on $$(QMAKESPEC)

不应该这样工作吗?

为什么它可以很好地编译 Utilities.a 文件,但在运行时要求我提供 DLL?它应该是一个静态库:(
由于我没有在 Utilities.pro 中指定一些需要的库,因此它显然没有像您期望的静态库那样链接。

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

谢谢!

【问题讨论】:

    标签: qt static-libraries qt-creator


    【解决方案1】:

    CONFIG += staticlib 请求 你的 目标库是一个静态库而不是整个依赖链......我很确定你的 .a 库将需要 mingw dll 才能运行.. .

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

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 2011-01-15
      • 2023-03-21
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 2014-12-11
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多