我的makefile文件包含以下行大廈的.o文件,利用makefile,澄清需要
11 SRC := $(shell echo src/*.cpp)
12 SRC += $(shell echo $(TEST_ROOT)/*.cpp)
13
14 OBJECTS = $(SRC:.cpp=.o)
22 # [debug] target
23 $(TARGET): $(OBJECTS)
24 $(CC) $(OBJECTS) -o $(TARGET)
25
26 # [debug] .o
27 $(OBJECTS): $(SRC)
28 $(CC) $(CFLAGS) $(DEBUG_FLAGS) -c $(SRC) $(OBJECTS)
哪些失敗了,因爲...好以下顯然不是辦法做到這一點
g++ -pedantic -Wall -Werror -O0 -g -Wno-format -DUSE_MEASURE -c src/Timer.cpp test/TimerTest.cpp src/Timer.o test/TimerTest.o
如何我是否應該修改第28行,以便從我的所有資源中生成.o?
β - 謝謝你這麼多。一個非常好的和翔實的答案。如果我能我會++你兩次! – 2012-08-14 18:20:03
使用您描述的場景,快速的問題,我如何構建代碼的調試和發佈版本?設置'$(D_OBJECTS):%.o:%.cpp'和$(R_OBJECTS):%.o:%.cpp'不起作用 – 2012-08-14 18:31:16
@James:你有一些決定要先做出。你不能在同一個目錄下有兩個版本的'foo.o',所以你可以a)爲這些對象分別設置「debug /'和'release /'目錄(我最喜歡的方法),b) 'foo_debug.o'和'foo_release.o',或者c)一次只有一個版本的'foo.o'存在,並且有一些聰明能幫助記住它是哪一個。 – Beta 2012-08-15 00:44:32