2015-05-18 56 views
1

由於Visual studio支持.NET項目,因此它不支持本機項目。從某種意義上說,例如創建靜態庫(.lib)時。包括靜態庫和包含頭文件的目錄必須手動完成。visual studio中的多個相關本機項目

對於一個項目,這不是一個大問題。但是如果你像我一樣管理好幾個項目。其中很多有些依賴。管理它全部變成一件很麻煩的事情。

我想知道是否有任何官方'微軟批准'的方法。如果不是,處理這種情況的最好方法是什麼?假設發生以下情況:

  • 幾個靜態庫(.lib)項目。其中包含幾種解決方案
  • 幾個動態庫(.dll)項目。這是在多種解決方案包括
  • 使用相同的庫(動態和靜態)多個應用程序,在一個解決方案

回答

1

我個人的解決問題的方法如下。

每個項目生成的二進制建立到:

$(SolutionDir)build\$(Configuration)\` 

每個項目生成靜態庫建立到:

$(SolutionDir)build\$(Configuration)\Libraries\ 

中間目錄對所有項目是:

$(SolutionDir)build\$(ProjectName)\$(Configuration)\ 

並運行以下預構建命令:

該系統的
Copy /Y "$(ProjectDir)*.h" + "$(ProjectDir)*.hpp"  "$(SolutionDir)build\$(Configuration)\Libraries\" 

優點包括:

  • 所有項目目錄免費入住的建立(使用有用的源代碼控制時)。所有的二進制文件都在一個地方。

  • 在同一解決方案中使用來自其他項目的輸出時,從不需要設置附加包含目錄。動態庫不一定要添加。而所有這一切都需要包括靜態庫下將其添加到Additional Dependencies領域:

    Configuration Properties->Linker->Input該系統的

缺點包括:

  • 由於所有的頭文件複製,存在意外編輯這些內容的風險。這會導致再次複製時丟失工作。

  • 由於設置每個項目,他們有被設置過項目

  • 該庫單獨構建的每一個解決方案

相關問題