1
gcc -c ./foo/name.c ./bar/name.c

这将输出一个文件 ./name.o。我假设一个覆盖另一个。

如何让 gcc 将目标文件与源文件放在同一目录中,以防止目标文件相互覆盖?

编辑:

对于任何想知道如何在 Makefile 中解决此问题的人。

SOURCES = /foo/name.c ./bar/name.c

build:
    $(foreach SOURCE,$(SOURCES), \
        gcc -c -o $(SOURCE:.c=.o) $(SOURCE);\
    )
4

1 回答 1

2

分为2个命令。

gcc -c -o ./foo/name.o ./foo/name.c
gcc -c -o ./bar/name.o ./bar/name.c
于 2013-10-23T15:52:38.480 回答