对函数的未定义引用
C++: undefined reference to function
我有一个问题,我想用lib hqp编译一些软件。该库使用adolc,但它是旧版本中已弃用的函数。因为我只有新版本,一个类(doubblev)丢失,我得到编译错误。现在我试着写一个包装器,但这里我得到错误。
之前:我直到现在才意识到这个问题,用新版本的adolc编译hqp。我写了一个简单的类,实现了必要的操作符(operator[])。
现在我想编译一个例子。我得到了
Prg_T2Topt.o:(.rodata._ZTV10Prg_T2Topt[vtable for Prg_T2Topt]+0x20):
undefined reference to `Omu_Program::consistic(int, double, adoublev const&, adoublev const&, adoublev&)'
注意:Prg_T2Topt。*是我的例子,Omu_Program是hqp的一部分。
为什么hqp的第一次安装没有以一个关于丢失的声明/定义的错误结束(gcc/g++使用)?我是否需要更新hqp使我不再使用doubblev ?
为什么我的例子的编译结果在一个关于一致性的错误,即使这个方法没有在例子中实现?
示例可以在http://codepad.org/Cv0tdoyS和http://codepad.org/ezQQPUg4(有点长)中找到
由于您的类Prg_T2Topt基于Omu_Program,它继承了Omu_Program的方法,包括consistic(),并且由于您的类不重写consistic(),编译器正在尝试使用Omu_Program::consistic()。
你链接了哪些库?看起来你在链接阶段遗漏了一些东西。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中