gcc makefile赢得';不编译

gcc makefile赢得';不编译,c,gcc,makefile,C,Gcc,Makefile,我的最后一个可执行文件(虽然是在unix中)将是proj07 proj07: /user/cse320/Projects/project07.driver.o proj07.support.o gcc -Wall /user/cse320/Projects/project07.driver.o proj07.support.o proj07.support.o: proj07.support.c gcc -c proj07.support.c 这将创建proj07.supp

我的最后一个可执行文件(虽然是在unix中)将是proj07

proj07: /user/cse320/Projects/project07.driver.o proj07.support.o
    gcc -Wall /user/cse320/Projects/project07.driver.o proj07.support.o

proj07.support.o: proj07.support.c
    gcc -c  proj07.support.c
这将创建proj07.support.o,但编译后不存在proj07。我没有犯错误,所以我的错误一定很简单,但我似乎无法理解

以下是输出:

 gcc -c  proj07.support.c
 gcc -Wall /user/cse320/Projects/project07.driver.o proj07.support.o 

我还将使用静态驱动程序来测试我的文件,这就是为什么路径是这样的

您可能有一个
a.out
可执行文件。将
-o$@
添加到您的第一个
gcc
事件中,您应该会没事。

默认情况下,编译的输出名为a.out。您必须将-o标志添加到gcc才能更改这一点。请参阅gcc的手册页(man-gcc)。工作正常!谢谢这只是给gcc添加了一个速记标志吗?是的,我有一个a.out,但我不想检查它,因为我在我所在的目录中编译了其他东西,所以我知道它没有改变。很高兴知道thoughnop
$@
makefile
s中的一个缩写,用于表示规则的目标。