stlport的配置
在使用stlport時,項(xiàng)目根據(jù)什么原則判斷是鏈接到靜態(tài)的stlport庫,還是動態(tài)的stlport庫呢?
對于MSVC來講,這一切的奧妙都在stlport/config/_msvc.h里。在這里有幾個宏需要特別注意:
_STLP_USE_DYNAMIC_LIB:定義這個宏,則鏈接到動態(tài)庫
_STLP_USE_STATIC_LIB:指示鏈接到靜態(tài)庫
_DLL:如果項(xiàng)目選項(xiàng)里設(shè)置了/MD 或者 /MDd Code Generation->Runtime Library->Multi-threaded Debug DLL (/MDd),那么將會自動定義宏_MT 和 _DLL,看到_DLL這個宏,自動鏈接到stlport動態(tài)庫。
所以,靜態(tài)還是動態(tài)鏈接到CRT庫(多線程時為LibCMT.lib,單線程時為LibC.lib),通過項(xiàng)目設(shè)置即可做到,此時stlport作為C++庫,也會自動根據(jù)項(xiàng)目設(shè)置調(diào)整。如果希望鏈接到stlport庫時的形式與CRT庫不一致,那么可以通過定義_STLP_USE_DYNAMIC_LIB或者_(dá)STLP_USE_STATIC_LIB做到。
參考:關(guān)于/MD /MT等選項(xiàng)的意義,可以參考MSDN相關(guān)內(nèi)容