我正在尝试编译大型 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 to
r_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[r_Marray 的vtable]+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。
请原谅,我不能在这里提交整个源代码,因为它非常大并且跨越多个目录。
非常感谢。