菜鸟又来问:GCC 编译器编译时如何按扩展名查找源文件
如果我手工写个 makefile 来编译是可以指定编译 *.m 源文件的,但我现在用 Eclipse CDT,而且Object-C源码是生成的,同时包括 .c 和 .m 两种源文件,不知道怎么告诉 makefile 把 .m 文件也当成 .c 一样地去编译。
哪位大侠知道有没有gcc 命令行参数告诉 GCC 两种扩展名都是源文件,让GCC把两种扩展名都当成 .c 一样处理?
我这源代码都是自动生成的,我不想每次都去把文件改名。
CC=/usr/local/bin/arm-apple-darwin9-gcc
CXX=/usr/local/bin/arm-apple-darwin9-g++
LD=$(CC)
LDID=/usr/local/bin/arm-apple-darwin9-ld
all: HelloWorld
HelloWorld: HelloWorld.o
$(LD) $(LDFLAGS) -o $@ $^
%.o: %.m
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
rm *.o HelloWorld
[解决办法]
$(CC) -c -std=c99 $(CFLAGS) $(CPPFLAGS) $< -o $@
[解决办法]
makefile 里 把 %.o: %.m 那两行copy一下,改成 %.o: %.c
%.o: %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@