2011-11-09 46 views
0

使用Eclipse IDE。問題是#defines沒有從標題傳遞到c和h文件。不知道它是一個項目設置的東西還是什麼,但Visual Studio IDE不會給我在同一個項目上遇到任何麻煩。儘管Eclipse中的一些項目沒有這個問題。任何想法可能是錯誤的?看下面的問題的例子。基於Eclipse和C的問題:#define不能在頭文件之外工作

儘管在header1.h中定義了示例,但它並不像main.c中定義的那樣被識別。編譯器查找標題也沒有問題。感謝所有幫助。

那麼header1.h

#define EXAMPLE 1 

的main.c

#include "Header1.h" 

#if defined(EXAMPLE) 

/* code here */ 

#endif 
+0

這似乎是一個非常基本的功能,可能出問題;你能否將你的問題削減成別人可以輕易測試的東西? – sarnold

回答

0

你提到有與編譯器和Visual Studio沒有問題,所以假設你是指代碼中被變灰Eclipse IDE?如果是這樣,檢查索引設置

首選項 - > C/C++ - >索引

選中啓用索引檢查索引源文件未包含在 構建選中自動更新索引檢查使用主動構建 配置

等...

希望這是有關您的問題。

0

這是行不通的嗎?

#ifdef EXAMPLE 

代替

#if defined(EXAMPLE)