This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Preprocessor failing to skip #include for shared header.

I have a header file which is shared across several(three) platforms, including the embedded processor.  The dependecies vary with the platform it is being included with so I have a pre-processor gauntlet to select the proper includes, it looks like this...

#ifdef EMBEDDED_APPLICATION
// I am going to be run on TI Embedded CPU.
#include "embedded0Dep1.hpp"
extern "C"
{
#include "embedded0Dep2.h"
#warning "EMBEDDED0"
}
#else
  #ifdef _WIN32
  // I am going to be run on a Windows Box
  #include "windowsDep.hpp"
  #warning "WIN32"
  #else
  // I am going to be run on another embedded processer:  I am being compiled with linux arm-GCC.
  #include <Embedded1Dep.h>
  #warning "EMBEDDED1"
  #endif
#endif

The CCS development is correctly "graying out" the entire 1st level #else case, indicating that nothing should be processed for the WIN32 or EMBEDDED1 case, but when the compiler is acutally invoked it is choking on the absence of Embedded1Dep.h.  Can someone help me understand why this is happening?  Shouldn't this include directive be skipped?