2013-07-20 69 views
1

我有一個構建爲EXE的C++項目。不過,我也需要將該項目構建爲靜態庫(.LIB文件)。現在爲了獲得完整的構建,我需要以一種格式構建它,然後打開項目屬性,然後在General> Project Defaults> Configuration Type下選擇其他格式,接受並重新編譯。這真是一件麻煩事。有沒有指定兩種類型的方法?我在這方面沒有看到任何關於MSDN的內容。多個項目輸出類型:編譯爲EXE和LIB

我使用Visual Studio 2012

回答

2

解決您的問題的一種常見(尤其是理智的)方法是制定一個包含兩個項目的解決方案。第一個項目應該是一個包含大部分代碼的庫(靜態或動態鏈接,無所謂)。第二個項目應該是一個可執行文件,它引用您在第一個項目中創建的庫。

這樣做,你的解決方案的單一版本將產生可執行文件和庫。

+0

我希望能夠將大部分代碼分解成單獨的項目。當這件事被指定時,這就是我想要的。不幸的是我的要求排除了這一點。謝謝你的想法。 –

1

創建兩個項目,加上同一套源文件兩者。

+0

複製文件的數量沒有意義;每次對源代碼進行更改時,都需要加倍努力。 – pmcs

+0

@pmcs:爲什麼?我不是說每個文件都要製作一份副本,並將原始文件添加到一個項目中,並將副本添加到另一個項目中 - 我說的是將兩個項目添加到同一個文件中。任何更改都會顯示在兩個項目中,因爲它們是相同的物理文件。 –

+0

假設你有幾百個頭文件和源文件,分割成多個目錄。對於一個積極開發的項目來說,目錄結構可能不穩定,更不用說單個文件本身了。每次修改庫項目中的目錄結構時,都必須手動更新可執行項目。 簡單來說,有一個庫項目和一個引用相同解決方案中的庫的可執行文件更好。這是完全標準的做法。 – pmcs