对函数的未定义引用

C++: undefined reference to function

本文关键字:引用 未定义 函数      更新时间:2023-10-16

我有一个问题,我想用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()。

你链接了哪些库?看起来你在链接阶段遗漏了一些东西。