2017-04-20 82 views
2

我的Visual Studio解決方案包含以下項目:的Visual Studio C++解彙編

Solution 
-> FolderName 
     C++ Project Name 1 
     C++ Project Name 2 
-> C++ Project Name 3 
-> C# Project Name 

C++ Project Name 3是一個庫類型的項目(生成一個DLL和一個lib)

C++ Project Name 1 and 2使用的報頭從C++ Project Name 3和在他們期望爲鏈接器部分生成的庫文件C++ Project Name 3

如果在項目順序(3,1,2)中逐個編譯,所有的東西都編譯正確並且工作正常,但是我如果我嘗試編譯整個解決方案,我得到一個鏈接器錯誤,指出它無法編譯C++ project Name 1,因爲它無法從C++ Project Name 3找到該庫。

我的問題是我如何正確編譯(按預期順序)如果我選擇編譯解決方案?下一步我要做的就是使用TFS編譯系統進行編譯,我期望在那裏我會遇到同樣的問題

+0

項目 - >項目建立順序...?或者可能將'C++ Project Name 3'設置爲'C++ Project Name 1'的項目依賴項? – UnholySheep

+0

嗨,你有沒有嘗試將項目3設置爲項目1和項目2的依賴項? – Felipe

回答

4

在Visual Studio中,轉到Project菜單,然後Project Dependencies。選擇「需要」庫的項目,並檢查庫的複選框。這將告訴Visual Studio如何確定順序或編譯。

注意:您也可以手動更改構建順序,但通過設置依賴關係,Visual Studio可以處理自己的順序,這可能會更優化。

MSDN: How to: Create and Remove Project Dependencies