==》windows 下方法:
1.方法一:VS工程中中直接添加
1.1在VS的屬性-》常規-》附加庫目錄,添上文件夾的路徑:例如:lib/x64;
1.2輸入的附加依賴項,添加上庫的名字,例如:dmapi.lib
1.3 對用到該庫的代碼進行,宏包含,例如:
#ifdef LOG_XY
...
#endif
1.4 當你在工程編譯時,在c/c++-》預處理器-》預處理器定義,中未定義LOG_XY 時,就不會依賴庫dmapi.lib
2.方法二:在代碼中添加
#ifdef _WIN32
#ifdef LOG_XY
#pragma comment(lib,"..\prj_cpt_dm7\\lib\\x64\\dmapi.lib")
#else
//#pragma comment(lib,"..\prj_cpt_dm7\\lib\\x64\\dmapi.lib")
#endif
#endif
即可。
==》LINUX 下,比較簡單:
在makefile 中庫和頭文件中,用宏區分即可,例如:
LOG_XY_FLAG=0
...
ifeg($LOG_XY_FLAG), 1)
LOGXYLIB=-L/opt/test/ -ldmapi
else
LOGXYLIB=
endif
...
然后編譯加上上面的LOGXYLIB就可以了。
注:在添加新功能含有新的依賴庫時,為防止在僅需要舊的功能時,依然要依賴了新的依賴庫,就會用到以上方法。