未定义的引用?

C、C++和Java语言
回复
macsun
帖子: 1
注册时间: 2007-05-26 15:40
送出感谢: 0
接收感谢: 0

未定义的引用?

#1

帖子 macsun » 2007-05-26 15:44

g++编译之后出现这个提示:

/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/crt1.o: In function `_start':../sysdeps/i386/elf/start.S:115:对‘main’未定义的引用

怎么回事啊?
(偶刚开始用linux)
头像
antonym55
帖子: 353
注册时间: 2007-04-03 9:52
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 antonym55 » 2007-05-26 16:43

光看这句话实在是有点奇怪,

可能是你没写main函数

可能是编译时无法找到main函数,

可能是gcc没安装好,

......

唉,实在是猜不出来,还是麻烦楼主把源代码贴出来


最有可能出现下面这种情况的原因, 链接时没有指定包含main 的文件(.cpp或.o)

代码: 全选

/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [test] Error 1


我把有多个文件的Makefile 修改了一下,

让它在链接时不链接包含main的文件,这个就出来了

当然这只是可能的原因,需要楼主给出更多的信息。


P.S. 麻烦楼主问问题的时候请准确描述下你的问题,例如:
你在做什么事情,如何做(代码或编译命令),出现什么问题(错误提示)。
这样别人才好帮助你.
TODO LIST:
1.valgrind:
2.gcov:
3.cppuint:未在Linux中使用
4.PostgreSQL:unixODBC
5.Doxygen:UTF8 中文问题,生成LaTex文档问题
6.LaTex:明确安装问题,UTF8 中文字体问题
回复

回到 “C/C++/Java”