2012-11-02 67 views
1

我很習慣於Linux開發和Makefiles,並且不久之前就開始使用(Windows和)Visual Studio。在Visual Studio中使用子項目

我想要做的是(我認爲)很簡單,但我似乎無法找到如何使用Visual Studio做到這一點。

我必須寫一個應用程序,我可以分成幾個獨立的子部分。我想漸進地工作,並創建幾個項目,與主文件一起將最終與我的完整項目。

我基本上想要的是能夠編寫一個小項目,有一個主要的項目,以便我可以完全測試它,並將其用作下一個項目的依賴項。在這種情況下,較小的主體將被停用(或者我可以對其進行評論),並且我只需更改啓動項目。 如果我在編寫更大的軟件時發現子集中的錯誤,我可以更改啓動項目並以更小規模解決問題。那麼,這就是我整天在Python和Java中完成的工作。

我試圖在我的項目中創建新項目,但我總是最終產生鏈接問題,我的主要項目知道子項目中的文件,而不是較小的項目等。 。

那麼,有什麼地方可以找到這樣的工作指南嗎?

謝謝

回答

1

感謝Vaibhav的,我能夠找到一個解決方案:

我只好:

  • 變化子項目類型庫,而不是EXE
  • 添加子項目爲項目依賴於主項目(這只是設置構建順序)
  • 註釋掉我的子項目的主體,只保留一個活動。
  • 添加每個子項目包括在主體工程包括回購目錄,這樣編譯器能找到頭文件
  • 添加的一般目錄作爲連接(在這種情況下的依賴,它不是調試/釋放子項目的文件夾,但完整項目的輸出目錄)。
  • 在主項目的鏈接器的附加依賴項中添加子項目的lib文件的名稱。

爲了簡單起見,VS2010的項目依賴性功能只是改變了項目的構建順序。 。 。我想念Eclipse。

如果我發現一個錯誤,要測試的子項目,我必須:

  • 變化的啓動項目是我想改變子項目。
  • 取消註釋相應的主
  • 將項目類型更改爲EXE而不是lib以便能夠編譯它。

調試,並盡一切努力,繼續在我的主要項目上工作。 很無聊,你不覺得嗎?

2

對於個別項目:

每一個人項目的屬性頁有一個C++選項頁。您可以在這裏以逗號分隔的形式指定'Addional Include Directories'。

同樣,應該有一個Linker屬性表,您可以在其中指定'Addional Include Dependencies'和它所依賴的庫的名稱。

對於主可執行文件的鏈接器的依賴關係:

去那個主體工程,進入其屬性,去共同屬性,然後選擇「框架和參考」。這應該會給你一個解決方案中所有項目的列表。繼續添加它們,並且Visual Studio應該爲您自動添加正確的鏈接器標誌。

對不起,現在無法訪問計算機,否則會提供確切的步驟。 Visual Studio有時會變得棘手,但一旦你使用它,你會爲它能爲你做什麼感到驚訝。我個人喜歡它。

希望這會有所幫助。

+0

謝謝,你絕對會讓我走上正軌。 看到我的答案 – jlengrand

0

看起來像你試圖手動進行單元測試。使用類似Google.Test的東西。您需要爲每個庫進行測試項目。

我們有靜態庫項目的目錄。另一個測試項目目錄。每個測試解決方案都包含一個exe項目和幾個現有的lib項目。每個項目都配置了依賴關係。您不需要手動設置鏈接器的其他依賴項(路徑是邪惡的,lib文件的外部目錄將從項目設置中獲取),使用鼠標右鍵打開項目屬性,通用屬性,添加新引用並選擇lib項目。您只需要設置其他包含目錄。

當您發現新的錯誤 - 只需打開帶有錯誤的庫的測試項目,添加導致錯誤,修復錯誤並且快樂(有時運行所有測試)的代碼即可。甚至更好 - 使用TDD

相關問題