當您設置一個項目以C++進行編譯時,無論是VS還是make,設置用於第三方庫的包含路徑的環境變量的最佳做法是什麼?你在變量中包含版本號嗎?即 THIRD_PARTY_LIB_3_1_1 = C:\庫\第三方\ 3.1.1將版本信息放入包含第三方庫路徑的環境變量是否很好?
,然後有$(THIRD_PARTY_LIB_3_1_1)\包括在include路徑
或 THIRD_PARTY_LIB = C:\庫\第三方\ 3.1.1 然後在你的包含路徑中包含$(THIRD_PARTY_LIB)\ include
擁有版本號的好處是你知道你應該指向哪個版本,不利的一面是當你改變版本時,你必須更新所有的項目/製作文件。
我在環境變量中沒有版本號時看到的主要問題是它不是顯式的,並且如果您有兩個使用不同版本的項目,它將成爲維護噩夢並且重建構建幾乎是不可能的。
環境變量的選擇是否會是?硬編碼庫和包含文件路徑的問題是,如果您進行了更改,則必須通過所有項目來更改設置。 – bpeikes
@bpeikes使用相對路徑是一種選擇。具有* project *特定的硬編碼路徑是可以的。不同的人在不同的機器上不應該混淆這些東西。我更喜歡使用CMake來解決這個問題,它簡化了很多事情。使用CMake,如果你需要環境變量,它們在配置時呈現,而不是每個構建。這使您可以在同一個系統上擁有兩個工作版本的項目。 –