栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Visual Studio配置Qt并通过NSIS实现项目打包

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Visual Studio配置Qt并通过NSIS实现项目打包

Visual Studio配置Qt

点击此处前往阿里软件源下载Qt,我这里使用的是Qt5.14.2,下载后双击安装。需要有Qt的账号,如果没有可以取Qt官网申请。依次点击下一步,再Qt组件选择时,建议如下图所示,将MSVC和MinGW都选中,并且32位和64位都安装上

安装使用Visual Studio 2017,注意勾选"使用C++的桌面开发"

Visual Studio 2017配置Qt5.14.2,选择“工具",扩展和更新,搜索Qt并安装


选择Qt VS Tools,选择Qt Versions,

添加Qt的MSVC路径,找到“qmake.exe",点击确认即可,将32位和64位都添加进去,方便使用时随时切换

NSIS安装

前往官网,下载安装

Qt工程打包 windeployqt实现打包

利用visual studio完成一个Qt工程,如下所示,教程在bilibili,选择x64和release

编译完成后会在工程目录下生成"x64/Release/CoinFlip.exe"文件

在桌面新建一个文件夹Coin,命名随意,将上述.exe文件拷贝至其中

打开Qt自带的命令框(不要使用windows自带的cmd)

在命令框中进入到上述新建的文件夹”Coin“,输入`windeployqt CoinFlip.exe`,回车,等待程序执行结束 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b560e26ce97c47829035b0aba0b2ee56.png) 结束完成后如下所示,绿色框中的“exe”文件可以双击直接执行。整个打包文件夹发送给其他用户也能够打开 ![在这里插入图片描述](https://img-blog.csdnimg.cn/82f93e4178e349eaaba6982ba28ef757.png) **注意到:你可能会没有红框中的文件**,你需要检查环境变量,保证你有如下的环境变量:
VCINSTALLDIR
D:programmingMicrosoft Visual Studio2017CommunityVC

值为Visual Studio的安装路径下的VC

使用NSIS进一步打包

将上述打包的整个Coin文件夹压缩成“.zip”文件,打开NSIS软件。按照如下所示步骤,完成后点击右下角generate,等待完成就行

完成后出现exe文件,双击安装即可

使用NSIS自定义脚本实现进一步打包

clone此仓库,进入到VimeoSetup目录,将上一步的Coin文件夹替换VimeoSetup下的App文件夹并重命名App

打开“NSIS-UI-Plugin”工程

选择Release或Debug,选择x86,Qt VS Tools中版本选择x86

在"属性"中修改"Qt Installation",点击“应用”,“确定”

完成后,右键"生成",完成后在"Win32Release"下生成"NSIS-UI-Plugin.dll"文件

如果出现报错但是生成了"NSIS-UI-Plugin.dll"文件,就不用担心,这是因为没有添加NSIS环境变量,所以将NSIS添加至环境变量可以解决,其中值是NSIS安装路径

NSIS_DIR
D:Program Files (x86)NSIS


另一种解决方法是将生成的"NSIS-UI-Plugin.dll"文件手动拷贝至"D:Program Files (x86)NSISPluginsx86-unicode",并重命名为"nsQtPlugin.dll",如果之前采用的Debug模式则重命名为"nsQtPluginD.dll"

但是还是建议添加环境变量,因为后面的步骤仍然需要添加NSIS环境变量

进入"VimeoSetup",编辑"vimeo-template.nsi"文件,各个变量含义如下
我修改如下,我新建了一个图标,依因此我将突图标换成对应的文件名
完成后保存,添加NSIS环境变量(如上所示)。双击"build-setup.bat",如果是Debug模式双击"build-setup [debug].bat",可以打开"bat"文件看到运行的命令

@echo off
python.exe ..NsisScriptGenerate.py "%~dp0vimeo-template.nsi" "%~dp0App"
"%NSIS_DIR%makensisw.exe" "%~dp0vimeo.nsi"

PAUSE

你可能会遇到以下问题,由于原始NsisScriptGenerate.py采用Python2,因此需要做如下修改

print "file total: " + str(g_extract_file_cmd_total) + ", dir total: " + str(g_create_dir_cmd_total)
换
print("file total: " + str(g_extract_file_cmd_total) + ", dir total: " + str(g_create_dir_cmd_total))

print nsis_script_template_path
换
print(nsis_script_template_path)

print  g_root_dir
换
print(g_root_dir)

完成后双击"build-setup.bat",若是Debug模式,双击"build-setup [debug].bat"
如果没有反应,需要添加Python环境变量(因为".bat"文件会调用系统cmd,因此会检索系统环境变量下的Python,参见Python环境变量添加),或手动使用Python在当前目录执行

python ../NsisScriptGenerate.py vimeo-template.nsi App

来生成"vimeo.nsi"文件,然后再双击"build-setup.bat",若是Debug模式,双击"build-setup [debug].bat"

完成后得到"CoinFlip-setup.exe"文件

双击打开,会得到以下安装流程

Python环境变量添加

环境变量添加如下:
将Python安装目录添加至环境变量以及Scripts文件夹路径

如果输入Python总是打开微软应用商店,解决如下:
在设置中搜索"应用执行别名",将响应快捷禁用即可,完成后在"cmd"中输入"python",出现以下界面则添加成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993944.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号