Qt应用程序发布exe未运行

时间:2019-02-23 22:37:11

标签: c++ qt

我在Qt中建立了一个非常简单的计算器。当我从Qt Creator以发布模式运行它时,一切正常。但是,当我转到发布文件夹并运行它时,它显示未找到QT5Core.dll,QT5Widgets.dll和QT5Gui.dll。在以下位置运行windeployqt之后:

windeployqt .

所有dll被添加。但是,它然后给出错误VCRUNTIME140_APP.dll和MSVCP140_APP.dll。将它们复制到文件夹之后。 exe双击不会给出任何错误,但不会启动。我该怎么办? 我在这里找到了此解决方案:enter link description here,但是在应用程序目录中找不到任何qml文件。

我将其创建为QT小部件应用程序。我正在将Windows 10与Visual Studio 2017和MSVC2017 64位桌面套件一起使用。该应用程序使用C ++。

更新: 运行命令

windeployqt Calculator.exe 
在将qt添加到路径后,

似乎可以解决问题。即使从路径中删除了qt,应用程序仍能正常工作。为了更加确定,将尝试在vm中运行该应用程序。

3 个答案:

答案 0 :(得分:0)

您可以按照selbie的描述解决问题。另一种方法是将丢失的.dll文件复制到放置.exe的文件夹中。

在此处查看https://doc.qt.io/Qt-5/windows-deployment.html#creating-the-application-package

  

要部署应用程序,我们必须确保将相关的Qt DLL(与应用程序中使用的Qt模块相对应)和Windows平台插件qwindows.dll以及可执行文件复制到同一目录树中在发布子目录中。

答案 1 :(得分:0)

设置变量VCINSTALLDIR,例如:

set VCINSTALLDIR=p:\Programs\Microsoft Visual Studio\2017\Community\VC\

然后下一次运行

windeployqt.exe app.exe

或将vc_redist.x64.exe从Redist子文件夹复制到应用程序的文件夹中。

答案 2 :(得分:0)

如@mosa所述,要部署应用程序,我们必须确保复制相关的Qt DLL(对应于应用程序中使用的Qt模块)和Windows平台插件qwindows.dll,以及可执行文件到发布子目录中的同一目录树。

要添加丢失的.dll文件,请先打开QT MSVC控制台并键入windeployqt.exe命令,

enter image description here

然后,您必须转到.exe文件包含的目录。假设我的.exe在桌面上,

C:/
cd user/indrajith/desktop

然后您可以使用以下命令添加丢失的.dll文件

 windeployqt.exe --quick.

最后,只需双击您的.exe文件即可运行该程序。