【发布时间】:2014-05-27 00:53:42
【问题描述】:
我在 Linux 上编写了一个可以编译和运行的 Qt 应用程序。当我尝试在 Windows 上编译 Qt Creator 上的代码时,我无法运行可执行文件。
应用程序只能在 Qt Creator 中运行。这与依赖关系有关吗?我知道对于静态构建,我需要构建 Qt Creator 的静态版本。但除了这样做之外,我还需要做什么才能让程序运行?
【问题讨论】:
标签: c++ qt windows-7 qt-creator
我在 Linux 上编写了一个可以编译和运行的 Qt 应用程序。当我尝试在 Windows 上编译 Qt Creator 上的代码时,我无法运行可执行文件。
应用程序只能在 Qt Creator 中运行。这与依赖关系有关吗?我知道对于静态构建,我需要构建 Qt Creator 的静态版本。但除了这样做之外,我还需要做什么才能让程序运行?
【问题讨论】:
标签: c++ qt windows-7 qt-creator
您可以将所需的 QT dll、QtCore、QtGui 等放在您的 .exe 文件夹中。
您应该能够在您的 QT 安装文件夹中找到这些 dll。
如果你不确定你需要哪个 dll - 你可能想试试Dependency Walker
【讨论】:
您应该将 Qt DLL 放在可执行文件的发布版本中。这些是 Qt5Core.dll、Qt5Gui.dll 以及可能用于您使用的其他模块的那些。这些 dll 文件位于您安装的 Qt 目录中的 bin 文件夹中。如果您使用的是 MSVS2010,您还应该放置 msvcr100.dll 和 msvcp100.dll。如果你正在使用插件,你应该将它们的 dll 放在你的 exe 旁边一个名为“plugins”的文件夹中。如果使用图标和图像,您应该将它们的 dll(如 qico.dll 和 qsvg.dll)发送到名为“imageformats”的文件夹中。
【讨论】: