У меня есть один «вспомогательный» файл, включенный в два «основных» файла, которые встроены в два исполняемых файла с одним и тем же make-файлом.У меня есть отладочные операторы печати в файле помощника.Я хочу, чтобы операторы печати были фактически напечатаны в одном исполняемом файле, но не в другом.Есть ли способ сделать это?Прямо сейчас у меня есть следующее, и я надеялся скомпилировать с DEBUG_PRINT, определенной для одного исполняемого файла, но не для другого, но я не вижу, как.
main1.cpp:
#include "helper.h"
...
main2.cpp:
#include "helper.h"
...
helper.cpp:
#ifdef DEBUG_PRINT
cout << "here is a debug message" << endl;
#endif
Makefile:
build: main1 main2
main1: main1.o helper.o
g++ -g -o main1 main1.o helper.o
main2: main2.o helper.o
g++ -g -o main2 main2.o helper.o
%.o: %.cpp
gcc -g -c $<