C-makefile错误未定义对main的引用

C-makefile错误未定义对main的引用,c,makefile,C,Makefile,我一直得到上面的错误。我的dealer.c确实包含“main” 有人知道发生了什么吗?你的链接行: dealer: dealer.o readline.o car.o gcc -o dealer readline.o car.o dealer.o: dealer.c car.h readline.h gcc -c dealer.c readline.o: readline.c car.h readline.h gcc -

我一直得到上面的错误。我的dealer.c确实包含“main”

有人知道发生了什么吗?

你的链接行:

    dealer: dealer.o readline.o car.o
        gcc -o dealer readline.o car.o

    dealer.o: dealer.c car.h readline.h
        gcc -c dealer.c

    readline.o: readline.c car.h readline.h
        gcc -c readline.c

    car.o: car.c car.h readline.h
        gcc -c car.c

make dealer
gcc -c dealer.c
gcc -c readline.c
gcc -c car.c
gcc -o dealer readline.o car.o
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [dealer] Error 1
不包含
dealer.o
,这解释了为什么缺少
main
。应该是:

gcc -o dealer readline.o car.o

(由
-o dealer
指示的最终可执行文件的名称与对象文件
dealer.o
之间没有自动/猜测的关系)

就是这样!非常感谢。编辑:感谢您的编辑解释。将
-Wall-g
传递到
gcc
。请参阅我怀疑
dealer.o
可能是链接到
dealer
二进制文件的对象文件之一。编辑:哦,我没注意到答案中已经包括了。谢谢你的建议!我来看看。
gcc -o dealer dealer.o readline.o car.o