[问题]菜鸟求助:undefined reference to `main'

C、C++和Java语言
回复
bondsman
帖子: 9
注册时间: 2008-05-22 23:27
送出感谢: 0
接收感谢: 0

[问题]菜鸟求助:undefined reference to `main'

#1

帖子 bondsman » 2008-05-22 23:32

makefile:
#Learning Sample



objects = test.o binaryTree.o calculate.o queue.o stack.o



dstest: $(objects)

gcc -o $(objects)



test.o: systype.h

binaryTree.o: binaryTree.h systype.h

calculate.o: calculate.h systype.h

queue.o: queue.h systype.h

stack.o: stack.h systype.h



clean:

rm $(objects)

test.c
#include <stdio.h>
#include <stdlib.h>
#include "calculate.h"



int main(int argc,char **argv)

{

float result = 0;

boolean succ = Calculate("100+200*10-10 = ", &result);

printf("100+200*10-10 = %f\n", result);

result = 100+200*10-10;
printf("100+200*10-10 = %f", result);

return 0;

}

如果我直接把Calculate的相关函数从其他文件拷贝到MAIN函数上面,仅通过编译gcc -o test.o test.c可以编译成功,但是一用上面的makefile编译就出现undefined reference to `main' 错误,请各位指教,多谢了。
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 laborer » 2008-05-23 8:00

Makefile中间那一段这样写

代码: 全选

dstest: $(objects) 
    gcc -o test $(objects)
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
mang.lee
帖子: 54
注册时间: 2008-03-28 12:10
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 mang.lee » 2008-05-23 10:36

laborer 写了:Makefile中间那一段这样写

代码: 全选

dstest: $(objects) 
    gcc -o test $(objects)
就是,执行命令要缩进的!
如果这样写的话,后面的"clean"项中,最好还要加上test,因为它也属于要被被清除的!
bondsman
帖子: 9
注册时间: 2008-05-22 23:27
送出感谢: 0
接收感谢: 0

#4

帖子 bondsman » 2008-05-23 22:45

多谢laborer。
回复

回到 “C/C++/Java”