刚进实验室,找学姐要点小活练练手,让我把之前的几个小功能的代码(py,matlab,c++)分别打包成exe软件。确实是人菜,遇到一些问题,以及中间的一些步骤就打算记下来,怕以后忘了。
【项目打包】matlab下mlapp项目打包成exe文件发布
系统:win11
软件:visual studio 2022
Qt 5.9.9
情况:按照网上参考的各路教程一路打包下来,软件应该是行了,但是运行又闪退,debug的时候又能完整运行,百思不得其解。各种测代码加上网上论坛问的,发现还是Qt的毛病,等后面有空了,重新弄一下。
但是整个打包的过程是没有问题的,故还是记录一下,以供参考。
C++的项目打包成exe,好像不止一种方法,我这里试过两种,一种是qt的一种是(我也不知道怎么描述)
首先,确保项目能在debug的情况下完整运行,Qt什么的也配置好了,然后这里选择release
再重新生成解决方案
运行没有问题之后,打开文件夹
在这层目录中有个x64(对应着项目里的设置)
点到release这层就会有个对应的exe文件,但是还没完,需要添加项目相应的和配置的.dll文件,才能运行,复制这个文件夹路径。
打开windows的开始,然后在更多里面找到Qt 5.9.9 (MsVC 2017 64-bit)
(QT版本无所谓,其他的应该是一样的)
点击之后,cd到release的文件夹里面,再输入
windeployqt Name.exe name.exe
其中name是release文件夹当中exe文件的名字,即项目名称,回车即可将所需的qt的.dll文件复制过来
然后又因为其中vs的一些是必备的,找到vs的安装路径,以我的为例:D:\software\work\Microsoft Visual Studio\2022\VC\Redist\MSVC\14.32.31326\x64\Microsoft.VC143.CRT
复制所有的.dll文件,回到上面release的文件夹粘贴
其他要的.dll文件就是,项目配置要的文件了,比如opencv的,那你就需要去把cv的.dll文件复制过来,比如opencv_world460.dll和opencv_world460d.dll这种的,具体的位置通常就在安装位置,不知道的可以打开vs里面的属性表查看
参考文章:
VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
Qt creator开发的C++应用程序运行崩溃,异常代码0xc0000409,错误偏移量0x0009efbb解决。
还有一个情况是直接用qt写的项目打包,这个我没有试,不过网上看见了
这个比qt简单些感觉,有很多博客已经写的比较清楚了我就存个档了
首先,下载拓展Installer Projects,下载好之后新建项目选择setup project
名字什么的,就根据自己情况来
这样选择文件,把所有项目相关的文件选择添加进去,再确定
然后再次选择项目输出
选择主输出之后,点确定
这里可以选择添加个快捷方式(无关紧要)
设置好之后,点击重新生成成功后就得到了安装的文件
打开可以找到
通过setup.exe就可以安装软件了
不过运行之后还是会有点毛病。