vs2019 c++开发软件独运行[运行库文件抽取]

背景

用vs2019 c++开发软件,发行版本需要运行库,因为别的电脑不一定安装运行库,所以要特别处理

方案

  1. 编译的exe,c++运行库设置MT(静态模式),代码集成在你的exe中
    1. 导致exe变大
    2. 其他第三方库可能冲突【可能第三方库需要改变编译模式】,常见冲突在这里
    3. 存在多份运行库代码,增大安装包体积
    4. 简单
  2. 需要动态库DLL 放在exe执行目录
    1. 需要复制多个DLL,所以要知道依赖哪些库
  3. 安装运行库
    1. 增加安装包体积
    2. 安装运行库万一冲突,还可能失败【对于阉割系统,太多麻烦的事情】
    3. 增加安装时间

      选择

      主流方案都选择第二种

      常见需要复制文件,打开vs2019,然后跳出任务管理器,找到对应进程,然后打开所在的目录


目录跳到IDE这一层

进行搜索
vcruntime140.dll
msvcp140.dll
ucrtbase.dll
api-ms-win-crt-conio-l1-1-0.dll 打开这个位置所有api-全部复制出来,懒得一个一个找。

基本大部分项目足够,如果软件还报错,他会提示,你自己慢慢复制就可以了,其他的版本vs也是这么慢慢查找。

备注

一定要放在exe同级目录,因为window搜索动态目录是这样子(非系统DLL优先级是当前目录最大)。
vs2019 多了好多api,貌似2015以后微软优化运行库,我看了一下文档,没有看出什么特别的地方,现在只记得它进行优化。。。

notepad++ 替代产品 everedit【放弃不用】

更新

我已经全部卸载了,连一个搜索都有bug的笔记软件,我直接卸载,虽然我购买了,实在不能忍,现在改换sublime text.

背景

自己笔记本软件一直都是用notepad++,我喜欢他的多标签和多个文件搜索功能,但由于这个作者一直都有政治倾向,所以想找一款可以替换notepad++的软件,因为vscode比较重,所以我直接排除了,找几个几款都不是很满意,要么没有我想要的功能,要么就是太重。【vscode 用在写nodejs 或者网页时候】

everedit

我在搜索找到了everedit,而且他是国产的软件,同时支持我多标签自动保存和文件搜索功能,同时还有其他的为开发装备的扩展,我自己已经用几周,感觉非常满意,暂时没有找到其他的问题。虽然他高级功能收费,但我基本用不到高级功能,同时他应该是纯c开发,然后界面win32开发,因为我用vs 打开资源,可以看到他的对话框资源,同时没有引用mfc的dll,也没有用c++ 运行库,那么它可能纯c写的。而且文件大小都很小。

有时候真觉得纯c开发的软件真的小而美,用高级语言开发东西反而只是大了

everedit介绍

标签临时缓存

他默认多个标签不会缓存,必须自己在设置里面进行设置。

搜索

这个基本和nopted++ 支持多个

它高级查找还支持匹配行和非匹配行,统计行数,这个非常适合开发用,我感觉作者产品理解能力还是很强的。他文件路径搜索可以自己去在查找菜单里面,界面开发还是非常清晰,我感觉比notepad++还更加清晰。

base64使用

选择要base64的文字,点击菜单工具的里面base64就可以进行编码与解码了,这个功能非常方便,如果某个文件要base64,那么直接权全选然后点击。

hex 二进制显示

这个自带二进制显示,然后右键可以直接复制16进制的字符串,这个对我非常方便,我以前用Hex专门工具,这样子就不需要了。

总结

我目前只用了上面这几个功能,其他功能暂时我没有用到,等我再用一段时间,如果我还觉得非常好友,去买一个永久激活码支持一下作者,虽然我用不到他的收费高级功能,算是支持国产软件。
~~
貌似30天的试用期,试用期过期会弹出购买对话框,然后点击确定就可以正常使用,我目前还没有过30天,等后面看具体情况,没有高级高能收费这个说法。。。~~
大概一个月试用期,过期了会提示,然后就无法使用,目前我已经购买,但新建标签的bug一样存在,如果希望免费,这款不适合你,感觉目前比较合适也就vscode了,虽然重了一点点

官网

http://www.everedit.cn/

问题

我现在使用,发现新建标签会出现重复,比喻标签1,我关掉程序,然后再新建标签,还会创建标签1,看起来没有什么,但如果搜索第二个标签1时候,点击搜索内容会跳到第一个标签,导致错乱,感觉非常不爽,我不知道这个bug怎么会有,稍微用一下就应该重现。。

我暂时每次新建标签时候,如果重复直接关闭那个重复就不会出现这个问题,但感觉不爽,如果有时间直接给他打一个补丁,或者写一个插件解决这个问题,实在有点膈应自己,目前还没有过期,我还没有购买这个软件,我想想看看过期会不会弹出购买对话框