seg*_*ult 0 c++ compiler-errors g++
我正在尝试编译大型C++项目,我收到了这个奇怪的错误.我知道这是链接错误但无法弄清楚究竟是什么.
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x8): undefined reference to r_Marray<unsigned char>::~r_Marray()'
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray<unsigned char>]+0xc): undefined reference tor_Marray::~r_Marray()'
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x28): undefined reference to `r_Marray::print_status(std::basic_ostream >&) const'
这个错误是什么意思 ?并且,是否可以看到发生错误的行号?怎么样 ?我主要关心的是这意味着什么
".rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x28"
实际上,我的错误是这样的,但不知道为什么角括号内的所有东西都丢失了,所以用""替换它们,这里是详细的错误,它与模板实例化有关,以及
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray"unsigned char"]+0x8): undefined reference to `r_Marray"unsigned char"::~r_Marray()'
我正在使用g ++ 4.3.3.
请原谅,我不能在这里提交完整的源代码,因为它非常大并跨越多个目录.
非常感谢.
首先,链接器错误和编译器错误是不同的事情.由于链接器处理目标文件而不是源文件,因此编译器错误具有行号但链接器错误不会.
其次,似乎你已经为r_Marray声明了析构函数,但是没有在构建中包含的任何地方实现它.同样的事情也适用于print_status.