How do you include a header file that may or may not exist?

前端 未结 2 1486
天命终不由人
天命终不由人 2021-01-18 04:31

Let\'s assume I define BAR in foo.h. But foo.h might not exist. How do I include it, without the compiler complaining at me?

#include \"foo.h\"

#ifndef BA         


        
2条回答
  •  广开言路
    2021-01-18 05:13

    In general, you'll need to do something external to do this - e.g. by doing something like playing around with the search path (as suggested in the comments) and providing an empty foo.h as a fallback, or wrapping the #include inside a #ifdef HAS_FOO_H...#endif and setting HAS_FOO_H by a compiler switch (-DHAS_FOO_H for gcc/clang etc.).

    If you know that you are using a particular compiler, and portability is not an issue, note that some compilers do support including a file which may or may not exist, as an extension. For example, see clang's __has_include feature.

提交回复
热议问题