QtCreator:静态库但仍然要求 DLL

发布于 2024-11-18 01:28:14 字数 512 浏览 2 评论 0原文

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

然而,当我编译并运行查看器(一切编译正常)时,我收到一条错误消息,告诉我未找到 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。 希望任何人都可以帮忙:/

谢谢!

I'm using QtCreator and I got two projects, each with an own PRO file.

The Viewer is a normal Qt app.
The other one, let's call it Utilities, is supposed to be a static library which is used in the Viewer.

However when I compile and run the Viewer (everything compiles fine), I get an error message telling me Utilities.dll was not found.

This is the first part of the PRO-file for Utilities:

QT       -= core gui

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

Shouldn't it work that way?

Why is it compiling the Utilities.a file fine but asking me for the DLL at runtime? It's supposed to be a static library :(

Since I did not specify some needed libraries in Utilities.pro, it apparently did not link as you'd expect for a static library.

My platform is W7-x64, latest Qt SDK and MingW 4.4 bundled with it.
Hope anyone can help :/

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦巷 2024-11-25 01:28:14

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

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

The CONFIG += staticlib request your target library to be a static lib not the entire dependency chain ... I am pretty sure your .a lib will require mingw dlls to run ...

If you want to reduce dependencies try the MSVC tool chain (Qt provide pre-compiled package for that) you will end with one or two mandatory dll dependencies. Or you can link again static mingw SDK (you will probably have to build it your-self ...).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文