Если вы хотите, чтобы библиотека «принимала» пользователя #define
, проверка наличия PUT_DEFINE_HERE
#ifdef PUT_DEFINE_HERE
//Do some stuff
#endif
должна выполняться на рычаге заголовка, и только там
Во-вторых, пользовательский проект, который включает заголовок библиотеки, должен #define PUT_DEFINE_HERE
до , включая заголовок библиотеки.
В качестве альтернативы, если такой параметр несовместим с дизайном библиотеки, тогда#define
должен быть добавлен во время компиляции, например:
gcc -DPUT_DEFINE_HERE ...
В этом случае обязательно компилируйте каждый источник с -DPUT_DEFINE_HERE
, когда это уместно.