如何在 Qt Creator 中制作 .exe 文件

Posted

技术标签:

【中文标题】如何在 Qt Creator 中制作 .exe 文件【英文标题】:How to make .exe file in Qt Creator 【发布时间】:2014-08-29 14:48:18 【问题描述】:

我正在使用 Qt Creator 编译器来制作一个简单的文本编辑器。我这样做了,但现在想制作该项目的 .exe 文件,但我不知道如何在 Qt Creator 编译器中制作 .exe 文件。有人可以帮忙吗?

【问题讨论】:

Qt creator 在编译时自动创建可执行文件。不是吗? 【参考方案1】:

有一个工具可以在 Windows 上自动添加 .dll。

在命令提示符中导航到您的 qt bin 目录。它应该看起来像这样:...\Qt\5.9.1\msvc2017_64\bin\(我正在使用 Visual Studio)。

在命令提示符下运行 windeployqt.exe,并将您的项目位置作为参数,如下所示:

windeployqt.exe C:\project_folder\my_project.exe

现在my_project.exe 将在同一目录中包含 .dll 并将执行。

【讨论】:

【参考方案2】:

编译器在构建应用程序时生成可执行文件。要知道可执行文件的存储位置,请查看

Projects (CTRL+5) -> Build settings -> General -> Build directory

如果您启用了影子构建,Qt 创建者会将其生成的 .exe 放在此处。 如果禁用了影子构建,则可执行文件将存储在项目文件夹本身中。

【讨论】:

【参考方案3】:

来自: How to create executable file for a Qt Application? 基本上,您必须在 Qt 实用程序所在的 Qt 树深处寻找 MinGW 子文件夹,并复制所需的 dll。

这些是我遵循的步骤,基于 Qt 4.7.4,用正确的共享库打包应用程序。

假设您在 c:\qtsdk 下安装了 Qt。 打开您的项目,并在发布模式下编译它。 转到此目录:C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin - 它包含所有共享库。调试库以“d”结尾——frex,QtCore.dll 是发布版本,而 QtCoreD.dll 是调试版本。 至少将这些文件复制到您的发布目录(您的 .exe 所在的位置):

mingwm10.dll libgcc_s_dw2-1.dll QtCore4.dll QtGui4.dll

我刚刚以这种方式构建、测试和部署了一个虚拟项目。

【讨论】:

【参考方案4】:

我遇到了同样的问题,所以我使用了上面建议的答案: " 有一个工具可以在 windows 上自动添加 .dll。

在命令提示符下导航到您的 qt bin 目录。它应该看起来像这样:...\Qt\5.9.1\msvc2017_64\bin\(我正在使用 Visual Studio)。

在命令提示符下运行 windeployqt.exe,并将您的项目位置作为参数,如下所示:

windeployqt.exe C:\project_folder\my_project.exe

现在 my_project.exe 将在同一目录中包含 .dll 并将执行。 " 但是我做了一些事情,这可能会有所帮助:

如果您在项目的调试文件中找不到应用程序的可执行版本,请尝试在 Qt 创建器中输入属性并跟踪该文件。当您在属性中使用它时,您还可以查看您的应用程序是否使用 msvc2017_64,如上一个答案或其他编译器。

将该文件带到您在此处在命令行中编写的相同路径:windeployqt.exe C:\project_folder\my_project.exe。

当您尝试打开可执行文件时,它将直到需要一些您可以在此路径中找到的 dll 文件。\Qt\5.9.1\msvc2017_64\bin 将它们复制并粘贴到 exe 文件的位置

【讨论】:

以上是关于如何在 Qt Creator 中制作 .exe 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在QML(QT Creator)中使用发光脉动效果制作元素动画?

无法在 Qt Creator 中启动 gdb.exe

Qt Creator:将 .exe 输出复制到文件夹中

使用 QT Creator,如何制作不需要在目标平台上安装 .dll 的 Windows 可执行文件? [复制]

如何退出qt creator全屏

在 Windows 8 上使用 Qt-creator 构建(编译)一个基本的独立 .exe 应用程序