作者:朱金燦
我們的版本控制工具采用TortoiseSVN + VisualSVN。我對自己開發小組的一個做法有點不太理解,就是從SVN下下載代碼後發現要包含第三方庫需要自己先添加一個環境變量,類似於THIRD_PARTY_LIB,這個環境變量的值指向第三方庫的主目錄。為何不用相對目錄的路徑來包含第三方庫呢?這樣做的話新加入的開發人員下載源碼後可以直接編譯,就不用自己手動添加什麼環境變量了。今天我向頭拋出這個問題,頭告訴我:使用環境變量對第三方庫的管理更為方便,首先第三方庫有一個版本升級和文件變更的問題,如果采用相對目錄的話,就等於限死了第三方庫的位置,以後要改動的話都要一一改動源碼工程文件的設置,而使用環境變量,實在不行的話可以完全建一個新的第三方庫的文件夾,只需要在環境變量中改動的值即可;其次是為了SVN中的branches和tags分支的使用(注:branches:表示發布的版本存放的目錄,即項目上線時發布的穩定版本存放在該目錄中。tags:表示標簽存放的目錄。)。因為SVN中的branches和tags分支是不斷更新的,采用相對目錄的話肯定是不太合適的,同時發布tag版本時在采用環境變量可以不用把第三方庫的dll都打包進去,因為可以通過環境變量來找到這些dll。
總之,使用相對路徑包含第三方庫是一時的方便造成了以後的諸多不便,用環境變量雖然一開始需要多做一點工作但對以後的工作有很多好處。