当前位置: 技术问答>linux和unix
请问g++下这个是什么错误?
来源: 互联网 发布时间:2015-03-26
本文导语: 使用了自己定义的类, 包含在另外的头文件中, ...
使用了自己定义的类,
包含在另外的头文件中,
并且在main函数中include进来了,
可是在main函数中用到的自定义的类的编译信息仍然是
“undefined reference to ...”
不知道这是为什么?
很急的问。
包含在另外的头文件中,
并且在main函数中include进来了,
可是在main函数中用到的自定义的类的编译信息仍然是
“undefined reference to ...”
不知道这是为什么?
很急的问。
|
这个错误提示是因为g++找不到你所提供的头文件,或者g++并没有搜索你指定的目录。在正常情况下g++可生成的一个文件说明你的程序中所有的引用,你需要确认g++应该在那些include目录以及以当前目录为起点的目录进行搜索。
|
因为你没有编译你自己的类,gcc找不到目标函数,就unreference了。
编译你的类,生成.o文件,然后在你的工程的makefile中把.o文件加到最终目标文件的依赖文件列表中。
如果使用库的方法,我还没有用过,这应该是最佳途径。
编译你的类,生成.o文件,然后在你的工程的makefile中把.o文件加到最终目标文件的依赖文件列表中。
如果使用库的方法,我还没有用过,这应该是最佳途径。
|
这是个很奇怪的问题,我试验的结果是,出现这样编译错误时,我将类声明的构造函数(报错说构造函数undefined reference)放到单独的public下,编译通过,然后再将头文件还原
(去掉那个单独的public)链结没有出错,就是说和出错时的文件相同,但一个报错,一个正常,我还会在作点试验找一下问题在哪里
(去掉那个单独的public)链结没有出错,就是说和出错时的文件相同,但一个报错,一个正常,我还会在作点试验找一下问题在哪里