Visual studio VS 2005符号映射在#ifdef情况下不起作用

Visual studio VS 2005符号映射在#ifdef情况下不起作用,visual-studio,Visual Studio,我使用VS2005作为我的IDE。我的大部分源代码都使用预处理器ifdef。控制#ifdef的所有宏定义都存在于头文件中。VisualStudio在“ifdef灰显”下显示代码。虽然定义宏的头文件包含在源文件中。这很烦人,因为VisualStudio也不会为它看不到的代码创建符号映射。所以为了寻找一个符号的定义,我需要手动去检查它。我已经在项目中添加了宏定义所在的头文件。我的include目录还包含此文件的位置。有人能告诉我为什么VS不能识别宏定义吗 例如 VS将#ifdef下的所有代码显示为灰

我使用VS2005作为我的IDE。我的大部分源代码都使用预处理器ifdef。控制#ifdef的所有宏定义都存在于头文件中。VisualStudio在“ifdef灰显”下显示代码。虽然定义宏的头文件包含在源文件中。这很烦人,因为VisualStudio也不会为它看不到的代码创建符号映射。所以为了寻找一个符号的定义,我需要手动去检查它。我已经在项目中添加了宏定义所在的头文件。我的include目录还包含此文件的位置。有人能告诉我为什么VS不能识别宏定义吗

例如

VS将#ifdef下的所有代码显示为灰色。如果我想从其他文件检查我的_global的定义,我不能

File source.c

#include "defines.h"

#ifdef MY_DEFINE
int my_global = 0;
 void foo(void)
 {
   printf("I am here");
 }
#endif

File defines.h

#define MY_DEFINE