用VC2005/2008編譯代碼時,經(jīng)常要鏈接其他lib,最傳統(tǒng)的方法就是在Linker->Input->Additional Dependencies中添加對應(yīng)的lib。
另外一個功能是project中的Project Dependencies,在Depends on里可以選擇工程依賴的項目
一直以來,我一直認(rèn)為Project Dependencies只是來決定編譯順序的,在項目很多,而且又需要經(jīng)常編譯時,一般就會調(diào)節(jié)下這個里面的依賴,讓工程編譯順序可以正確。但一般情況下這個功能在我的機器上是睡覺的
后來,突然發(fā)現(xiàn),Project Dependencies是可以幫助項目鏈接lib的,也就是說,對于在同一個Solution的項目的lib依賴,可以不進(jìn)入->Input->Additional Dependencies中進(jìn)行添加。
這個功能是保存在Solution內(nèi)的,因此可以被源代碼管理軟件給別人共享
功能對比:
傳統(tǒng)手動添加lib
優(yōu)點:
適合大部分的編譯器,可以深刻理解linker的流程,項目被移出Solution后也不用重新設(shè)置其他關(guān)聯(lián)項目,傳統(tǒng)而有效
缺點:
設(shè)置比較麻煩
項目依賴添加lib
優(yōu)點:
既解決了lib引用,也決定了編譯順序
缺點:
如果即使用傳統(tǒng)方法,又使用項目依賴,可能會造成不預(yù)定的多次編譯
離開VC后,很難適應(yīng)其他IDE或者編譯器
其他項目依賴的基礎(chǔ)庫被移出Solution后再倒回來后,需要重新設(shè)置依賴
Solution丟失,關(guān)聯(lián)也就丟失,單獨編譯某個項目,需要重新設(shè)置依賴
總結(jié)
既然用MS的東西,就選擇MS的優(yōu)化功能,這是MSDN推薦功能。
如果既要保持跨平臺的習(xí)慣,可以繼續(xù)使用傳統(tǒng)方法,因人而異
MS的東西讓電腦和編程都變的簡單,但并不一定是最強大的,這就是2|8定律