I’m using Visual C++ to build and test a project, but I’ll also be using it on other platforms. I started the code initially on a different platform.
In some of my class headers I need to include a file which is specific to the other platform, however, this file doesn’t exist in the Visual C++ workspace.
I’ve tried using code like this:
#if TARGET == OTHERPLATFORM
#include "themissingfile.h"
#endif
where TARGET is defined elsewhere as WINDOWS
#define TARGET WINDOWS
However, I still get a compiler error stating that “themissingfile.h” cannot be found. It appears like the precompiler is processing the include before the if. What’s the best way to get around this? I suppose I could just create a blank “themissingfile.h” in the Visual C++ source folder, but it seems to me like there should be a better solution.
#define TARGET WINDOWSdoes not set TARGET to the string WINDOWS: it sets it to whatever WINDOWS is defined to. Most likely this happens: