如何编写无依赖的Windows程序?
How to write dependency-free Windows program?
我用C++写了一个非常小的实用程序。我选择C++有两个原因:保持.exe尽可能小的大小,并确保零框架依赖。我只是希望它以 100% 的兼容性尽可能快地执行。
不幸的是,用户现在收到一个错误,说他们需要MSVCP140.DLL才能运行该程序。我知道这是VC++可再发行组件包之一,但是我很惊讶地发现,如此简单的控制台程序需要一些不是Windows默认部分的东西。
是否可以编写无依赖的Windows代码?如何生成 100% Windows 本机.exe文件?
从我所读到的内容来看,这可能与 MFC 或 ATL 中的一个或两个有关,解决方案可以是将它们包含在您的版本中。是否可以关闭它们?我也不需要也不想要。(或者控制台窗口本身的引擎盖下可能需要 MFC?
大多数情况下,我只是感到惊讶,似乎没有可以完全独立运行的程序。如何生成一个完全独立于框架的小程序?
在调试和发布版本的C++编译器选项中切换到静态非 DLL。
https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=vs-2019
删除/MD 并使用/MT。这会增加可执行文件的大小,但长度可以忽略不计。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何编写无依赖的Windows程序?
- 在C Windows程序中显示文本文件内容
- 在C Windows程序中获取A/D转换器示例程序
- Windows C++程序中的访问冲突是否总是立即崩溃
- VS2015从windows程序中删除linux上的一个文件
- 如何制作一个Windows程序,用于使用c ++将文件写入cd
- 阻止 Windows 程序将 ^Z 解释为文件末尾
- 如何在 Windows 程序中使正方形旋转
- 最好声明什么来调用Windows程序的约定
- 我可以使用哪些库来制作小型Windows程序
- 使用EnumProcessModules的Windows程序入口点返回意外值
- 如何在linux程序和windows程序之间通过Wine(同一台计算机)共享内存
- 在Windows程序中加载图标
- 如何在Windows c++程序中找到符号链接的目标
- 如何在windows程序中更改主机文件
- Windows程序员(C/C++)的Linux编程技巧
- 使用Graphviz为Windows程序可视化函数调用
- Windows程序中的简单值输入
- 如何从在Mac Crossover中运行的Windows程序运行AppleScript