0
我有兩個「主」文件中包含一個「助手」文件,這兩個文件使用相同的生成文件構建到兩個可執行文件中。我在助手文件中調試打印語句。我希望打印語句實際上打印在一個可執行文件中,而不是其他打印語句。有沒有辦法做到這一點?現在我有以下幾點,我希望能夠編譯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 $<
+1我最初誤解了Makefile。除了將'$(CXXFLAGS)helper.cpp'移動到'g ++'link命令之外(這看起來很髒),除了兩個不同的目標文件外,沒有辦法。 – user786653
謝謝,這工作。 –