QT学习笔记3.2(建立项目、执行_打包、生成执行文件exe)
目录
enigma virtual box把所有文件打包成.exe文件
mingw还没有编译成功过,这里说明使用msvc的过程。
使用msvc可以编译生成
1.生成执行文件、库文件等各种,msvc可以生成exe文件,debug和release版本的。
2.使用windeployqt自动打包需要的文件
3.使用engima virtual box,把文件转成新的exe文件
4.运行结果
32和64位
windeployqt打包过程中:
windeployqt使用的vs编译器文件夹下的windeployqt.exe。
使用命令提示符,打开
转移到serial_assistant.exe所在文件夹
windows系统下使用cd命令切换到D盘的方法_cd d:-优快云博客
先切换到盘,再切换到文件夹。
cd F:\qtcute_qt_learn\SerialAssistant\build-chuan_kou_mainwindow_ui-Desktop_Qt_5_9_9_MSVC2015_32bit-Release\Release
然后在该文件夹执行(注意空格,加不加双引号都可以)
F:\Qt\Qt5.9.9\5.9.9\msvc2015\bin\windeployqt.exe serial_assistant.exe
D:\Program_Files\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe serial_assistant.exe
D:\Program_Files\Qt\5.15.2\msvc2019\bin\windeployqt.exe serial_assistant.exe
D:\Program_Files\Qt\5.15.2\mingw81_32\bin\windeployqt.exe serial_assistant.exe
更新:windeployqt和编译器路径版本要匹配,版本匹配,不然会出错,具体过程参照此文:
qt-- 学习笔记3.2(生成执行文件exe,报错)-优快云博客
qt-- 学习笔记11(mingw编译,windeployqt生成执行文件exe,同一exe文件不同文件夹结果不同)-优快云博客
自动执行:
Adding Qt5Svg for qsvgicon.dll
Skipping plugin qtvirtualkeyboardplugin.dll due to disabled dependencies (Qt5Qml Qt5Quick).
Direct dependencies: Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
All dependencies : Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
To be deployed : Qt5Core Qt5Gui Qt5SerialPort Qt5Svg Qt5Widgets
Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.
Qt5Core.dll is up to date.
Qt5Gui.dll is up to date.
Qt5SerialPort.dll is up to date.
Qt5Svg.dll is up to date.
Qt5Widgets.dll is up to date.
libGLESV2.dll is up to date.
libEGL.dll is up to date.
D3Dcompiler_47.dll is up to date.
opengl32sw.dll is up to date.
Patching Qt5Core.dll...
...
qwindows.dll is up to date.
Creating qt_ar.qm...
..
Creating qt_uk.qm...
然后,serial_assistant.exe所在文件夹添加了很多库、文件,此时双击serial_assistant.exe可以打开了。
不使用windeployqt打包的话,双击serial_assistant.exe会提示缺少dll库(因为编译的使用的是动态库)。
使用版本不对的windeployqt也能把文件打包过来,但是打开serial_assiatant.exe的时候,会出现提示0xc000007d,不能启动。
enigma virtual box把所有文件打包成.exe文件
使用enigma virtual box把所有文件打包成.exe文件。
打开enigma virtual box
u选择input file,选择.exe文件,会自动生成一个输出exe名字
然后左下角ADD,添加文件夹,选择add folder recursive
选择.exe所在的文件夹,然后弹出对话框,选择ok
文件夹添加成功,开始process
出现process窗口,然后完成,点击run完成。
此时把生成的serial_assistant_boxed.exe,可以不需要库文件,独立执行了。





2472

被折叠的 条评论
为什么被折叠?



