无法在以发布模式编译的ide之外运行qt-creator可执行文件

问题描述 投票:0回答:1

切换到发布模式以构建一个小项目后,当我尝试从qt-creator ide内部运行它时,一切正常。但是,当我转到文件夹build-<project_name>-Desktop_Qt_5_14_1_MinGW_64_bit- Release并尝试运行此目录中生成的可执行文件时,出现此错误:

enter image description here

任何人都知道这里有什么问题吗?如果是某些缺少的dll,我认为它将指定缺少的dll,对吗?还是我弄错了?

更新

运行windeployqt后,此命令找到了我的应用程序的依赖项,创建了一些文件夹,但是现在尝试运行它时,我得到了错误提示:

enter image description here

qt dll qt-creator release
1个回答
0
投票

关于Windows上Qt部署问题,这里我所知道的是全部:

  1. 检查项目的发布配置是否不包含任何调试版本的库。
  2. 在发布模式下构建您的应用。如有疑问,请使用“重建”。
  3. 使用windeployqt工具自动将所有必要的Qt dll复制到可执行文件的文件夹中。确保从正确的文件夹中使用windeployqt.exe。例如,当前我有一个版本的Qt框架,但有两个版本的windeployqt:用于x86和x64编译器。如果您安装了多个版本的Qt,则可能具有该工具的多个版本。

 C:\Qt\Qt5.14.1\5.14.1\msvc2017\bin\windeployqt.exe
 C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\bin\windeployqt.exe
  1. 将编译器库复制到发行文件夹。确保您从用于构建的确切编译器中复制库。

  2. 复制所有必要的附加第三方动态库。确保它不是调试版本。

  3. 如果问题仍然存在,请在某些dll依赖查看器中打开您的.exe文件。这就是我在Lister中看到的方式。请注意,这样的工具不仅会显示丢失的dll,还会显示可执行文件实际使用的每个dll的完整路径。更强大的工具是Dependency Walker

enter image description here

  1. 如果问题仍然存在,请尽可能简化您的项目。为一个空项目运行发布。而不是逐步添加模块,功能和库。
© www.soinside.com 2019 - 2024. All rights reserved.