/* Example.h */
#define QUOTE(str) #str
#define EXPAND_AND_QUOTE(str) QUOTE(str)
#define HOUSTON_INCLUDE_PATH u:/PlatformPkgs/HoustonPkg/Include
#define HOUSTON1_INCLUDE_PATH u:/PlatformPkgs/Houston1Pkg/Include
// HOUSTON1 is defined in CFLAGS with /DHOUSTON1
#if defined(HOUSTON)
#include EXPAND_AND_QUOTE(HOUSTON_INCLUDE_PATH/Optional.h)
#elif defined (HOUSTON1)
#include EXPAND_AND_QUOTE(HOUSTON1_INCLUDE_PATH/Optional.h)
#endif
Got the compiling error below:
C1083: Cannot open include file: 'u:/PlatformPkgs/1/Include/Optional.h': No such file or directory
The error is due to the macro is expanded tou:/PlatformPkgs/1/Include/Optional.h
. It stripped out Houston
and Pkg
in Houston1Pkg
. How can I retain the whole word Houston1Pkg
in the path?