【发布时间】:2013-08-27 05:01:32
【问题描述】:
target: $(patsubst %.c,%.o,$(wildcard ./src/*.c))
@echo "making target"
$(cc) $(patsubst %.c,%.o,$(wildcard ./src/*.c)) $(LIBS) -o gif
# $(cc) $(wildcard ./objects/*.o) $(LIBS) -o gif
./objects/%.o: %.c
@echo "making objects now"
@mkdir -p ./objs
$(cc) $(CFLAGS) $(LDFLAGS) -c $< -o ./objects/$@
问题是对象 .o 文件是在 src 文件夹中创建的。 我想在对象文件夹中创建对象。请帮忙?
输出是
making target
gcc ./src/gif_display.o ./src/gif_lzw.o ./src/gif_read.o ./src/sysm.o ./src/x86_main.o -lm -lc -o gif
【问题讨论】:
-
我认为您需要先将其清理干净,然后将其放在文件末尾
-
不,这不能解决问题。
-
你能把“make target”的输出贴出来吗?
-
[joshis1@(none) GIF_Utility]$ make target echo "making target" Making target gcc -lm -lc -o gif /usr/lib/gcc/i686-redhat-linux/4.6.3 /../../../crt1.o: 在函数
_start': (.text+0x18): undefined reference tomain'collect2: ld 返回 1 退出状态 make: *** [target] 错误 1 [joshis1@(none) GIF_Utility]$