【发布时间】:2012-01-13 14:03:44
【问题描述】:
我在 Qt Creator 中创建了一个简单的项目(使用 Qt SDK 1.1.4 安装)。它在 Qt Creator 中运行得很好,但是如果我随后浏览到 Windows 中的输出目录并双击 EXE,我会收到如下错误:
The program can't start because QtCored4.dll is missing from your computer.
Try reinstalling the program to fix this problem.
这显然是因为 Qt 不在我的 PATH 中(而且我不希望它在我的计算机上,以防我的计算机上有多个版本的 Qt),并且 Qt Creator / qmake 没有将 Qt DLL 复制到项目输出。
我想做的是使用 qmake 将必要的 Qt 文件复制到项目输出目录 - 无论它在哪里。我该怎么做?
(我尝试在 qmake 中创建自定义目标,但我并没有走得太远......)
2016 年 7 月 19 日更新: 澄清一下,上面的帖子是关于 Qt4 的。在 Qt5 上,您应该考虑调用 windeployqt。这个 Qt5 工具将读取您的二进制文件,确定您需要哪些 Qt5 运行时文件,并将它们复制到您的二进制目录中。另请注意,它将修复 Qt5::Core 库中特定于您的 PC 的绝对路径 - 因此,除非您想自己提供 qt.conf 文件,否则基本上必须使用此工具。
【问题讨论】:
-
天哪,我现在正在努力寻找解决方案
-
Ali Foroughi 类似问题:stackoverflow.com/questions/8391924/…
-
@AlessandroPezzato:我们想要的是让 qmake 自动复制这些 DLL 来构建输出,所以我们不必手动完成。
-
复制调试 dll 并没有多大用处 :)
-
为什么要在 IDE 之外运行调试版本?
标签: c++ qt qt4 qt-creator qmake