[c++]一个简单计算器(先大致写一下,有时间再整理)

技术栈:c++基本语法,STL中队列和栈的应用,以及程序打包相关操作

开发工具:vs2019 和部分插件

 

 需求分析:

loading.....

 

核心算法:逆波兰式的应用

  讲解loading....

设计流程:loading.....

代码文件:(具体代码有待改进)

  

  

 

      

 

  

 

 

成果展示:

 

 

如果缺少vs环境,会出现错误,因此我将项目改为了静态链接,会提供静态库,相应的.dll文件会加入.msi文件中,无须自己添加

 

 点击TT计算器2.0.msi(如果已有vs环境,用setup应该也是可以的)

 

 

选择安装目录

 

 安装完成

 

 此时桌面就出现了快捷方式

由于链接库,第一次运行可能会慢一点

 

 

 

 

 

 

安装目录下会有提供的文件:

 

unstall.exe   ----卸载

 

 

log.txt   -----日志

 

 

 遇到的问题:QAQ真是不少....

代码实现方面的问题今天暂且不说,时间不足

就写一写打包过程中的问题吧

 

由于找不到VCRUNTIME140D.dIl,无法继续执行代码。

重新安装程序可能会解决此问题。

为什么会这样呢?原因是VS默认为动态编译。在之前的教程里我们学了静态编译与动态编译的区别,我再把他搬过来:静态编译在程序编译时dll会被连接到目标代码中,程序运行时将不再需要该静态库。动态编译在程序编译时dll并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。我们只需设置为静态编译即可,让dll写进exe内,没有外部库也可以运行。

 然后重新编译即可。对于VS来说:静态编译/MT,/MTD 是指使用libc和msvc相关的静态库(lib)。动态编译,/MD,/MDd是指用相应的DLL版本编译。值得注意的是,使用静态编译会让程序变大。

 

 

添加卸载程

 没有安装卸载程序的话,需要在控制面板\所有控制面板项\程序和功能下卸载比较麻烦。

所以,
在C盘下搜索系统卸载程序,选择64位,复制到我们工程的Release目录下。

 

 

 

 选择msiexec.exe文件,并创建快捷方式

并将其重命名然后移到User's Desktop

 

 

 
点击setup项目,将其属性中的产品码ProductCode后的内容复制下来如:{E9A43663-33ED-4EF6-AB62-E8487863D2FF}

 

 
粘贴到untall.exe的Arguments中,并在前面加上"/x ",如/x {E9A43663-33ED-4EF6-AB62-E8487863D2FF},/x和{间有空格!

 

posted @ 2021-06-03 16:05  泥烟  阅读(178)  评论(0编辑  收藏  举报