qt使用QML编译好的exe程序,脱离开发环境运行方法

                                                                       qt使用QML编译好的exe程序,脱离开发环境运行方法

                                                           qt使用QML编译好的exe程序,脱离开发环境运行方法

前言 

   我们一般都会在开发机器上安装开发环境,比如vs2013~vs2019,QtCreator等开发工具,安装开发工具后,安装工具会自动设置环境变量。我们把在工程中编译好生成的debug和release目录下的exe复制到另外路径,再把依赖的dll复制到这两个目录下,一般都可以正常运行exe。如果把这个exe部署到没有安装开发环境的机器上,如何正常运行这个exe呢?

解决

1. 首先在有开发环境的机器上,针对Qt5开发的环境生成的exe程序,可以使用Qt5自带的工具:windeployqt.exe,工具的路径在你的qt安装路径

    qt使用QML编译好的exe程序,脱离开发环境运行方法

2,使用qt命令行工具,

qt使用QML编译好的exe程序,脱离开发环境运行方法

3. 进入到 windeployqt.exe所在目录:

qt使用QML编译好的exe程序,脱离开发环境运行方法

4. 我这里以Test.exe为例

qt使用QML编译好的exe程序,脱离开发环境运行方法

5. 敲入命令 :windeployqt.exe E:\QtExercise\CtkEventPublishSubscribDemo_Release\output\bin\Test.exe

qt使用QML编译好的exe程序,脱离开发环境运行方法

6.  会生成很多依赖的库,和文件夹

qt使用QML编译好的exe程序,脱离开发环境运行方法

7.  把bin整个文件夹拷贝到没有开发环境的机器上,运行Test.exe

8.  如果,你的程序中包含qml依赖的库,需要使用命令:  windeployqt.exe E:\QtExercise\CtkEventPublishSubscribDemo_Release\output\bin\Test.exe -qmldir C:\Qt\Qt5.12.2\5.12.2\msvc2017_64\qml

   唯一不同在命令加上:    -qmldir C:\Qt\Qt5.12.2\5.12.2\msvc2017_64\qml   

         注意qmldir前面有个  减号  -