我发现了一个整洁的 Clang 特定功能,它可以让您在实际包含标头之前知道标头是否存在(__has_include
)。我试图想出自己的宏来执行以下操作:
#define DOES_HEADER_EXIST(_header_) \
#if !__has_include(_header_) \
#warning Header not found: _header_ \
#endif
但这似乎不起作用。我可以明白为什么这不起作用,因为这有点像要求预处理器进行两次通过,但也许我错了?