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
Use a tool like GNU Autoconf, that's what it's designed for. (On windows, you may prefer to use CMake).
So in your configure.ac
, you'd have a line like:
AC_CHECK_HEADERS([foo.h])
Which, after running configure
, would define HAVE_FOO_H
, which you can test like this:
#ifdef HAVE_FOO_H
#include "foo.h"
#else
#define BAR 1
#endif
If you intend to go down the autotools route (that is autoconf and automake, because they work well together), I suggest you start with this excellent tutorial.