我有一個跨平臺的C++項目。在這個項目中,我們使用了幾個第三方,靜態編譯的庫,這些庫非常龐大且不易構建。在源代碼樹中包含預編譯的庫
目前,我們的源代碼樹是這個樣子:
|
+-3rdparty
| +-include (initially empty)
| +-lib (initially empty)
| +-some-library
| +-another-library
|
+-source
當檢查出的代碼,開發者首先生成並安裝「一些庫」和「其他庫」。安裝步驟會將正確的文件放入include和lib文件夾,然後他們可以構建我們的項目。
爲了更容易地構建我們的項目,我正在考慮刪除「some-library」和「another-library」,而只是將include和預編譯的二進制文件放入include和lib文件夾中。這樣,一個新的開發者只需要檢查項目,並立即建立。
我的問題是:
它是一個不好的做法,這樣做呢? (即:將預編譯的庫包括到您的源代碼樹中)。
什麼潛在的問題/缺點可以從這個設置產生的?
對於幾個平臺(Windows,Mac OSX和Linux),您建議考慮哪個文件夾組織?
附加說明:我們正在使用Mercurial。
可能的重複[可以(應該)我把第三方庫在版本控制?](http://stackoverflow.com/questions/1710027/can-should-i-put-3rd-party-libraries-in-版本控制) – durron597 2015-09-16 18:05:11