让VC编译出来的程序不依赖于msvcr80.dll/msvcr90.dll/msvcr100.dll等文件

来源:互联网 发布:ubuntu 14.04 qq2013 编辑:程序博客网 时间:2024/04/29 04:27

正常情况下,当我们用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 debug debug):多线程调试Dll版本

转自:http://hi.baidu.com/daven172/item/eb7ab0e33bc5972e6cabb865

原创粉丝点击