У меня есть файл .cpp (назовем его check.cpp) со следующей директивой препроцессора:
#ifdef CHECK
// code to execute goes here
#endif
Файл check.cpp используется в двух разных проектах. (Проекты находятся в одной папке и используют один и тот же файл check.cpp, который также находится в той же папке)
Я хочу, чтобы один проект выполнял этот код, а другой проект не выполнял этот код.
Итак, в итоге для ProjectA check.cpp будет иметь:
#ifdef CHECK
// This code WILL execute
#endif
А для ProjectB check.cpp будет иметь:
#ifdef CHECK
// This code WILL NOT execute
#endif
Возможно ли это с помощью директив препроцессора, или, может быть, есть более простой способ?
Моя идея заключалась в том, чтобы использовать
#define CHECK 1
И поместите это в один из проектов, а не в другой, но файл .cpp должен включать #define, чтобы он работал, и этот файл является общим ...
Любые идеи?
-DCHECK
в команду компиляции (например, gcc -DCHECK) в один make-файл и оставить его вне команды компиляции в другом. - person paulsm4   schedule 26.02.2013