在Eclipse中使用CDT。Eclipse C排除構建配置中的頭文件
是否有一個快速的方法有兩個相同的構建配置,但在一個配置中只使用SRC/foo.h中,另一隻SRC /酒吧/ foo.h中?
在src /目錄有很多其他的頭文件,和我樂觀地希望沒有一個將它們添加所有之一,當只有一個文件實際上是不同的。
我也真的不想動任何文件或者修改它們,因爲它們不是我寫我自己的庫或目錄結構。 (如果我真的必須,那麼我想我必須把它整理出來)
我想某種「排除」列表將是理想的。這是否存在?
在Eclipse中使用CDT。Eclipse C排除構建配置中的頭文件
是否有一個快速的方法有兩個相同的構建配置,但在一個配置中只使用SRC/foo.h中,另一隻SRC /酒吧/ foo.h中?
在src /目錄有很多其他的頭文件,和我樂觀地希望沒有一個將它們添加所有之一,當只有一個文件實際上是不同的。
我也真的不想動任何文件或者修改它們,因爲它們不是我寫我自己的庫或目錄結構。 (如果我真的必須,那麼我想我必須把它整理出來)
我想某種「排除」列表將是理想的。這是否存在?
定義一個宏告訴你哪個構建配置你正在建設,然後用它來決定要包括哪些文件。
您的項目右擊,選擇屬性。然後在彈出的對話框中選擇C/C++ Build,然後選擇Settings。你最終應該在一個視圖中定義預處理器定義(宏)。
在你的頭文件然後要麼做到以下幾點:
#ifndef MY_MACRO
// contents of header file only available when MY_MACRO is NOT defined
#endif
或者你可以(也許應該)在入選的點做代替,所以這是一個源文件:
#ifdef MY_MACRO
# include "bar.h"
#else
# include "foo/bar.h"
#endif
如果您包含來自多個源文件的頭文件,並且不想複製上述行,則可以添加另一個頭,只需將上面的行復制粘貼,然後在任意位置包括該頭就可以包含。
你是什麼意思,「只有一個文件實際上是不同」?這些頭文件是什麼,來自外部庫? – ForceMagic
是的,這些來自外部庫。我有兩個構建配置。兩者都使用所有相同的庫文件。除了一個文件需要不包含在其中一個版本中,而是另一個路徑中的另一個文件。 – SpiRail