正常情况下,当我们用VC编译出一个Console/Win32类型项目的exe程序时(这里暂不考虑MFC程序),会依赖于msvcrxx.dll文件(xx为不同VC对应的版本号,VC2005为80,VC2008为90,VC2010为100),发布程序的时候,就需要把对应的dll也copy过去,比较不方便。
通过以下的方法,可以让exe不依赖于这些dll(不过生成的exe会大很多)
以VC2010英文版为例,切换到Solution Explorer视图,在项目上右击,选择Properties,Configuration选项选中Release,依次点击Configuration Properties->C/C++->Code Generation->Runtime Library,选择/MT即可。以Release方式重新Build项目,在Release文件夹下即可生成不依赖于msvcr100.dll的exe文件。
下面简单说明Runtime Library四个选项的含义:
(D表示Dll,而d表示debug版本)
MT(Multi-threaded):多线程版本
MTd(Multi-threaded debug):多线程调试版本
MD(Multi-threaded Dll):多线程Dll版本
MDd(Multi-threaded Dll debug):多线程调试Dll版本