2012-01-28 235 views
0

我構建了一個C++類,它接受來自用戶的文件路徑和文件模式,並在提供的位置搜索文件模式。例如:C:\ MyProject * .cpp列出給定位置中的所有.cp文件。Visual Studio 2010 C++項目結構

我能夠成功構建和編譯項目。現在我想要一個名爲Executive的不同項目,它只包含一個main(),並且執行與上面提到的C++類相同的事情。

現在的結構是這樣的:

VS2010 Solution 
    - Navigator 
     -Headers 
      f1.h 
      f2.h 
      f3.h 
     -Source 
      f1.cpp 
      f2.cpp 
      f3.cpp 

可以說,我想有相同的解決方案下的另一個項目,並要求主/執行,其主要目的是有,做同樣的事,作爲一個主要功能主要在導航器項目中。

我的問題是,同樣的解決方案下執行的項目有main.cpp中,可能還需要導航項目的所有* .h文件的副本。我是否還需要將導航器的* .cpp文件複製到主要工作的Executive項目中?或者我應該只在主管項目中加入主管,並將hte Navigator項目添加爲執行項目的參考?

回答

2

在Visual Studio中打開解決方案,從New Project窗口中,從該下拉列表中選擇「添加到解決方案」選項並將其命名爲Executive。

現在,當您在同一個解決方案下有更多的項目時,您可以轉到Executive項目的屬性,並在C/C++ - > General中將其他包含目錄設置爲../Navigator/Headers;../Navigator/Source;

然後在執行項目的所有源文件,您可以包含導航項目.cpp文件,例如:#include "f1.cpp"。包含.cpp文件沒有錯。

但是,如果打開導航器屬性項目 - >常規,將配置類型更改爲靜態庫(.lib)會好得多。然後在執行項目設置附加包含目錄,以../Navigator/Headers;和鏈接器 - >常規設置附加庫目錄,以導航項目的輸出文件夾(如果你沒有改變它的輸出目錄是../Debug的調試配置和../Release)和在鏈接器 - >輸入中添加;Navigator.lib在其他依賴關係的末尾。然後在執行項目的源文件中,您只需包含.h文件。爲了確保Navigator項目在執行項目之前構建整個解決方案時,可以轉到解決方案的屬性 - >項目依賴關係,並在那裏設置執行項目依賴於Navigator項目。

+0

*沒有什麼錯,包括.cpp文件。*除語義... – 2012-01-28 22:41:00

+0

我編輯我的答案,寫有其他(更好)的方式該怎麼做。 – LihO 2012-01-28 23:01:03

+0

這回答我的問題ThanksLihO我會嘗試一下。 – 2012-01-28 23:18:18

相關問題