本人使用msvc2019和qt 5.15.2来进行编写该软件(32位)
软件提取
百度网盘
链接:https://pan.baidu.com/s/1l9UCBD-vfLDXFccN_BjV3g
提取码:jklz
该软件可以通过Setup来进行安装
软件效果图
部署是要避开的坑点:
在本机调试:
注意1:qt开发工具下载完成后,一定要配好qt的环境变量,否则生成的.exe的软件在本机无法打开
上图为在qt安装时选择的编译器
当在qt或msvc生成的代码中的.exe运行时它通过D:\Qt\5.15.2\msvc2019\bin\qtenv2.bat 来配置cmd的环境变量
注意2:部署时通过qt编译器查看运行的编译器信息
选择合适qt命令窗口(一定要对好 (位数) 即32位选择32位qt命令窗口)
否则部署完后无法打开.exe软件
注意3:要部署该软件,应复制build...release/release的.exe应用程序,然后通过相应的qt命令窗口
windeployqt --force 路径 来获取c的动态链接库vc_redist.x86.exe或vc_redist.x64.exe和qt库.
因为release的.exe是用于部署的
如果用了其他(Debug/profile下的.exe)进行部署,部署完后,你可以在自己的电脑中运行这个.exe,这是因为你的电脑已经有环境了,若将该部署完的文件夹放在一个什么环境都没有的电脑,然后运行改文件的.exe,就会报一些.dll库文件缺失的错误
在release中点击运行.exe时,可能会报一个错误(根据代码而定)
但是这不要紧,他只是没找到c的库而报错,
我们可以通过 将该.exe复制到一个新的文件夹
qt相对应的命令行 输入windeployqt --force 新的文件夹路径/程序名.exe的命令,来补全缺失的c库和qt库
其中的vc_redist.x86.exe是Microsoft Visual C++ Redistributable的安装程序。用于安装和部署Visual C++运行时组件的工具。Visual C++ Redistributable是一组由Microsoft提供的动态链接库(DLL)文件,用于支持在不同的Windows操作系统上运行使用Visual C++编译的应用程序。这些运行时组件包括标准C++库、MFC库、ATL库等,它们为应用程序提供了必要的运行时环境。
简而言之就是c++的动态链接库,部署有关c/c++都会有它的身影
注意四:在部署时查看部署信息可能会看到一个warning
Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.
意思是部署c库失败,找不到Visual Studio的安装位置,而且环境变量中没有设置变量名为VCINSTALLDIR,即设置 环境名为VCINSTALLDIR,变量值为Visual Studio的安装位置,也就是要找到图下这些c的动态链接库的其中一个
但是这个qt命令窗口只认redist这个目录,因此这个安装路径的目录下,一定有redist目录
以下为如何找到redist这个目录在哪个目录上
打开msvc的安装位置,选择VC的目录,这个是c库的安装位置
我们可以看到redist目录在VC中
设置环境变量的值置为D:\visual studio 2019\VC
这样可以在Qt的命令窗口中部署该程序运行时所需的qt和c库文件了