This question already has answers here:
What is an undefined reference/unresolved external symbol error and how do I fix it?
(34个答案)
6年前关闭。
抱歉,如果您之前曾问过这个问题,但我找不到合适的答案。
我试图在另一个已经由其他人编写的类中使用我自己的类文件。整个程序基于Omnet ++。在构建之前,一切似乎都还不错,但是一旦我构建了程序,就会出现以下错误
我正在尝试在CentralEntity中使用RatePrediction,这就是我所做的:
在RatePrediction.cc中:
在CentralEntity.h中:
在CentralEntity.cc中:
编辑:
@hildensia感谢您的评论。我实际上是这样做的,现在可以了。但是我不确定它是否可靠和稳定。
我手动编辑了
(34个答案)
6年前关闭。
抱歉,如果您之前曾问过这个问题,但我找不到合适的答案。
我试图在另一个已经由其他人编写的类中使用我自己的类文件。整个程序基于Omnet ++。在构建之前,一切似乎都还不错,但是一旦我构建了程序,就会出现以下错误
undefined reference to `RatePrediction::RatePrediction(double, double, double)
我正在尝试在CentralEntity中使用RatePrediction,这就是我所做的:
在RatePrediction.cc中:
#include "CentralEntity.h"
RatePrediction::RatePrediction(double gs,double gi, double dataRate):
gs(gs), gi_int(gi), reqDataRate(dataRate), result(0), error(0){
//some codes
}
在CentralEntity.h中:
#include "RatePrediction.h"
class CentralEntity : public cAsyncModule
{
//friend classes ....
protected:
virtual void initialize();
}
在CentralEntity.cc中:
#include "RatePrediction.h"
void CentralEntity::initialize()
{
RatePrediction RateObj(1.1e-13,1.2-13,1e4);
}
编辑:
@hildensia感谢您的评论。我实际上是这样做的,现在可以了。但是我不确定它是否可靠和稳定。
我手动编辑了
Makefile
并添加了:OBJS= RatePrediction.o
RatePrediction.o: RatePrediction.cc
$(CXX) -c $(COPTS) RatePrediction.cc
最佳答案
问题出在编译之内。 RatePrediction.cc
似乎根本没有编译。因此,链接器找不到构造函数,因为它没有目标文件。 Makefile中的解决方案目前似乎很合适,但是可能会被您的构建系统覆盖。因此,您应该收集有关如何定义Eclipse应该构建哪些文件的信息。
关于c++ - 类(class)未正确链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21929684/