如何避免链接msvcr100.dll?

时间:2015-04-14 10:20:06

标签: c++ windows visual-studio

我正在使用VC ++ Express,我的应用程序需要msvcr100.dll。用户应该在他的系统中有这个文件,我的应用程序有什么办法可以避免使用这些文件吗?

2 个答案:

答案 0 :(得分:1)

在项目设置中,将Release版本的Runtime Linrary更改为Multi-threaded / MT(而不是多线程DLL / MD)。这会切换到静态运行时库并消除相关的依赖性。

enter image description here

另见:

答案 1 :(得分:0)

C和C ++标准不仅定义了语言,还定义了一些(许多)函数和类,这些函数和类是支持C / C ++的系统应该具有的(至少)。干净的Windows安装只有一部分必要的东西,而这个DLL文件包含所有内容(但不会自动安装此DLL)。

三种可能性:
a)强制每个用户安装MSVC可再发行软件包(根据您的问题,您不希望这样)

b)将自己的文件与程序一起分发。问题因为版本问题等,以及某些司法管辖区可能存在的法律问题。

c)在项目设置中启用“静态”链接。这会将所有内容放在您自己的EXE文件中;它将使用更多的内存,但不再依赖于外部文件。在VS中找到这个:How do I make a fully statically linked .exe with Visual Studio Express 2005?