以VS2005為例,這樣子打開:
1) 打開項目的Property Pages對話框
2) 點擊左側C/C++節
3) 點擊Code Generation節
4) 右側第六行Runtime Library項目
編譯選項
包含
靜態鏈接的lib
說明
/MD
_MT、_DLL
MSVCRT.lib
多線程、Release、DLL版本的運行時庫
/MDd
_DEBUG、_MT、_DLL
MSVCRTD.lib
多線程、Debug、DLL版本的運行時庫
/MT
_MT
LIBCMT.lib
多線程、Release版本的運行時庫
/MTd
_DEBUG、_MT
LIBCMTD.lib
多線程、Debug版本的運行時庫
簡單的說:
(1)/MD,表示運行時庫由操作系統提供一個DLL,程序裡不集成。
(2)/MT,表示運行時庫由程序集成。
二、/MD、/MT的選擇
(1)程序就不需要靜態鏈接運行時庫,可以減小軟件的大小;
(2)所有的模塊都采用/MD,使用的是同一個堆,不存在A堆申請,B堆釋放的問題;
(3)用戶機器可能缺少我們編譯時使用的動態運行時庫。(補充:如果我們軟件有多個DLL,采用/MT體積增加太多,則可以考慮/MD + 自帶系統運行時庫)