讓VC編譯出來的程序不依賴於msvcr80.dll/msvcr90.dll/msvcr100.dll等文件
正常狀況下,當咱們用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版本