前言
众所周知,.exe文件会被电脑识别为可运行型文件,而不允许被上传,
以防止恶意程序绑定导致他人下载后受到病毒攻击。
这时发给同学的软件并不能起到装逼的效果,因此我们利用软件NSIS用界面可视化的方式打包程序
程序打包
编译环境与编译脚本工具的安装
- 首先,附上NSIS的下载地址:https://nsis.sourceforge.io/Download
- 以及编译脚本工具HM NIS EDIT的下载地址:http://hmne.sourceforge.net/index.php#Download
NSIS与HM NIS EDIT的使用(以贪吃蛇程序为例)
- 打开NSIS,选择编译NSI脚本
- 打开HM NIS EDIT,选择“文件”-“新建脚本向导”
- 自行修改程序名称,程序图标等内容
- 授权文件可以删除
- 删除系统默认文件(两个都删除)
- 编辑文件项目并选择目录(文件项目为exe文件,目录为整个文件夹)
- 后面内容不必修改,直接点击“完成”,之后编译器会生成脚本
- 点击编译运行即可获得安装包
程序发布时可能遇到的问题
有时自己写的程序在别人的电脑上运行时会报错,提示缺少vcruntime140d.dll等库
原因如下:微软在制作 Windows 系统时,为了提高代码的复用率,提出了一个动态链接库的概念(DLL)。DLL 提供了一种方法,使程序在运行时能够调用不属于其本身的可执行代码的函数。
如此一来,如果我们的程序在运行时需要调用不属于其本身的函数,而发布的程序中又没有包含这些函数库,便会出现错误。
为了解决这个问题,我们可以将调用到的所有函数在编译时一同打包进生成的程序中,也就是静态编译
- 首先,在vs中点击“项目”-“属性”
- 展开配置属性 - C/C++ - 代码生成
- 最后点击“重新生成解决方案”
如此便可完成静态编译了~~~