実際にヘッダーを含める前にヘッダーが存在するかどうかを知らせる、きちんとした Clang 固有の機能を見つけました ( __has_include
)。次のようなことを行うために、独自のマクロを考え出そうとしていました。
#define DOES_HEADER_EXIST(_header_) \
#if !__has_include(_header_) \
#warning Header not found: _header_ \
#endif
しかし、これはうまくいかないようです。プリプロセッサに 2 つのパスを実行するように要求するようなものなので、これが機能しない理由はわかりますが、間違っているのでしょうか?