构建c++项目以包含所有msvc dll
Build C++ project to include ALL msvc dlls
我有一个简单的c++程序。我只想构建exe,然后把它交给另一个完整的非开发机器上的人。有没有一种方法可以在Visual Studio中构建这样一个简单的,单一源文件,而不需要所有的废话 ?我已经将程序更改为MT模式编译,而不是静态链接msvcr.dll文件的MTD,但现在它正在寻找msvcp.dll文件。我怎样才能使我的可执行文件1)不包含所有这些垃圾文件,或者2)静态地将它们全部链接起来,这样我就有一个文件可以传输到另一台Windows PC上运行
谢谢
如果使用/MT编译需要msvcr100.dll,则应用程序中包含的某些内容可能试图与之链接,可能是第三方组件。我会检查任何第三方库和相关的。
MSVCP100.DLL是c++标准库。您可能需要仔细检查它是否正在寻找MSVCP100D.DLL,这是调试版本;混合发布和调试模式库可能会导致这种情况。
MSVCRT100.DLL为C运行时库,MSVCP100.DLL为c++标准库。如果您使用/MT构建,这两个库都应该消失,在这种情况下,应该使用这些库的静态版本。
我的猜测是,你要么切换到/MT后没有完全重建你的应用程序,或者你的项目中的一个或多个文件有自定义设置,包括/MD。您可能需要在显示/MT的页面上打开属性对话框,然后逐个单击所有源文件,以验证它们中没有一个仍然显示/MD。
相关文章:
- 挂起和取消挂起一个文件DLL
- MSVC多行宏编译器错误
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 混合来自不同 MSVC 的 DLL 时的行为不同
- 从模板继承的 MSVC DLL 导出类会导致LNK2005已定义的错误
- DLL 中 MSVC 未解析的永恒符号
- 如何制作一个不依赖msvc dll的win32应用程序
- 在MSVC Windows表单中使用DLL中创建回调
- 在MSVC C DLL中导出模板类的模板成员函数
- 使用 CMAKE 和 MSVC 2010 构建 GDCM 2.4.1 无法获取所有 DLL
- 如何使用 MSVC++ 2010 使 dll 更小
- MSVC++ 6.0 devshl.dll ERROR
- 如何将GCC类传递到MSVC dll
- MinGW 与 MSVC 的 dll 库问题链接(未定义的引用)
- 用g++构建用于MSVC应用程序的dll
- 构建c++项目以包含所有msvc dll
- 在msvc++ 2010中,在调试配置中用静态链接编译DLL时,链接器错误
- visual c++ MSVC dll编译错误,缺少类型说明符和重定义
- MSVC dll链接的顺序