2012-09-17 318 views
1

是否可以在每個文件基礎上添加包含路徑?在Visual Studio 2010中添加包含文件路徑的路徑

我的項目中有一些文件(我們稱之爲Files1)需要不包含路徑「ABC」,因爲如果他們這樣做會發生名稱衝突。

然後我有一些文件(讓我們稱之爲Files2)應該包含來自路徑「ABC」的頭文件,並且我想將路徑「ABC」添加到Files2的包含路徑中,而不將其添加到包含路徑文件下載1。

這是可能的還是我需要重新命名我想包含的衝突頭文件?

回答

1

我不知道有什麼可以使這成爲可能,但如果有的話,應該不會。重命名文件並解決衝突。即使這種功能存在,我也會敦促你不要使用它。

2

解決此問題的一種可能方法是將不同/衝突版本放置在共享相同父文件夾的相應子文件夾中,並根據所使用的文件將包含使用子目錄的嵌套(子目錄)路徑的標頭包含在不同的子文件夾中。

這樣,你只需要添加共享父文件夾的包含搜索路徑,但是你的不同的文件組可以這樣做:

// files1 
#include <foo/version_a/blah.h> 

// files2 
#include <foo/version_b/blah.h> 

,你甚至可以使一個預處理器宏(使用#ifdefs或類似的),您可以定義,以便您可以在版本之間切換並避免對其進行硬編碼。

1

是,右鍵單擊所需的CPP文件,單擊屬性C++ /一般編輯附加包含目錄適當。

然後在另一個CPP文件,而屬性對話框仍處於打開左鍵單擊,並改變附加包含目錄,等...

話雖這麼說,你應該妥善解決命名衝突並不依賴於包含路徑,如果可以的話。

+0

我試過用.h文件,但他們錯過了整個C++部分的屬性。 – FlyingFoX

+1

@FlyingFoX:正確,因爲它們沒有被編譯,但「包含目錄」設置是一個編譯器選項。 – MSalters