В строке вызова компилятора можно указывать как простые определения, так и определения с заданным значением:
g++ myfile.cpp -D MYLIB_FOUND -D IOS_MIN_VERSION=6.1
После чего в коде программы можно использовать эти определения в командах препроцессора:
#ifdef MYLIB_FOUND
#include <mylib/mylib.h>
void DoStuff() {
mylib::DoStuff();
}
#else
void DoStuff() {
// own implementation
}
#endif