1

我使用Visual Studio編寫一個C++程序,其源代碼庫由SVN管理。我試圖讓解決方案可以在多臺電腦上使用。問題是,兩臺計算機上的庫和包含目錄都不相同。例如,其中一個庫中的庫位於(例如)e:\ devlib \ boost_46_1 \ libs \ regex \ build,E:\ devlib \ SDL-1.2.14 \ lib等,並且在另一臺計算機上c:\ programming \ lib \ boost_46_1 \ libs \ regex \ build和c:\ programming \ SDL-1.2.14 \ lib在多臺PC上的VS2010項目

對於includes也是如此 - 增加了一層複雜的操作以至於需要保留文件夾實際源代碼中的#includes(如#include)

如何構建我的文件夾/源/ vs解決方案/計算機,使解決方案能夠在我的任何計算機上編譯,而無需單獨列出庫文件夾和維護e的不同項目/解決方案文件夾ACH?

我明白一個可能有效的解決方案是將庫包含在源文件夾結構中,以便所有庫文件夾都可以是,例如「../libs」和「../inc」或其他。然而,考慮到(例如)提升的龐大規模,這種解決方案是不可取的 - 尤其是在源代碼控制方面。

回答

2

將任何第三方庫放入解決方案中的文件夾中,置於源解決方案根源文件夾的源代碼管理和引用下。

不要擔心大小;因爲這些通常不會改變,所以你會很少檢索它們。

+0

我應該把它們放在SVN「extern」還是什麼的位置,以確保項目之間沒有太多的副本? – lochok 2012-01-29 12:50:32

+0

每個項目都有一個副本,可以讓您有能力隔離項目的第三方庫。例如,如果兩個項目必須有不同的版本呢?在我看來,所使用的額外空間是值得的權衡。 – 2012-01-29 15:06:21