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?