gpt4 book ai didi

C++奇怪的编译链接器错误

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:01 25 4
gpt4 key购买 nike

我正在尝试编译大型 C++ 项目,但遇到了这个奇怪的错误。我知道它是链接错误,但无法弄清楚它到底是什么。


test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x8): undefined reference to <code>r_Marray<unsigned char>::~r_Marray()'
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray<unsigned char>]+0xc): undefined reference to</code>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[vtable for r_Marray]+0x28" 

其实我的错误是这样的,但不知道为什么尖括号里面的东西都不见了,所以用“”代替,这里是详细的错误,它也与模板实例化有关


test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[r_Marray"unsigned char"的vtable]+0x8):未定义对`r_Marray"unsigned char"::~r_Marray()'的引用

我正在使用 g++ 4.3.3。

请原谅,我不能在这里提交整个源代码,因为它非常大并且跨越多个目录。

非常感谢。

最佳答案

首先,链接器错误和编译器错误是不同的东西。由于链接器处理目标文件而不是源文件,因此编译器错误有一个行号,但链接器错误没有。

其次,您似乎已经为 r_Marray 声明了析构函数,但尚未在构建中包含的任何地方实现它。 print_status 也是如此。

关于C++奇怪的编译链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1171664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com