2012-11-29 71 views
3

這是對使用SVN的Visual Studio中的解決方案組織的疑問。Static library dependency + VS2010 + SVN

爲了簡化,讓我們假設我有一個名爲Util.lib的靜態庫,在VS2010項目中編譯。

我也有一個名爲Capture.lib的靜態庫,在VS2010中編譯,依賴於Util.lib。 在SVN上,Util.lib是Capture.lib文件夾的外部,並且Util項目已添加到Capture.lib解決方案中。 這個編譯完美。

現在的問題。我有另一個名爲Native的項目,它編譯一個DLL。 此DLL依賴於Capture.lib和Util.lib。 我已經添加了兩個作爲外部,並將項目添加到本機解決方案。

問題是:在編譯本機期間,Capture.lib項目無法編譯,因爲它沒有找到Util.lib。 發生這種情況是因爲它在Capture項目的外部文件夾中查找! Util現在不在了。

在這種情況下該怎麼辦?我應該將Util項目(在externals/Capture/externals/Util中)添加到Native 解決方案嗎?這是正確的方法嗎?

謝謝

回答

-1

這取決於Util.lib和Capture.lib改變的頻率。 1)如果您使用固定版本的Native.dll,只需將 Util.lib和Capture.lib及其頭文件夾添加到您的Native項目 (Project-> Properties-> C/C++ - >其他包含目錄,項目 - >屬性 - >鏈接器 - >輸入 - >其他依賴項) 2)如果Capture.lib和Native.dll與Native.dll並行更改, 您應該調整依賴關係方式爲(1),並添加項目依賴關係到Capture.lib和Native.dll(Project-> Project Dependencies),您可以告訴VS以正確的順序編譯您的項目。