[英]Why am I get getting "undefined reference to" error when compiling a c++ program?
我刚刚在 ah 文件中添加了一个 function 定义,并在其对应的.cpp 文件中实现了它。 当我编译它时,我得到了这个编译错误:
./query.so: undefined reference to `Recognizer::skip_one_char(std::string const&, std::string const&)'
collect2: error: ld returned 1 exit status
在 Recognizer.h 中,我添加了这个:
bool skip_one_char(const string &content, const string &tag);
在 Recognizer.cpp 中,我添加了这个:
bool skip_one_char(const string &content, const string &tag){
...
return false
}
似乎一切都是正确的,但为什么我仍然会出现这个错误:
undefined reference
此外,在我添加这个额外的 function 实现之前,package 编译并运行良好。
在 Recognizer.cpp 中,您声明了一个名为skip_one_char
:
bool skip_one_char(const string &content, const string &tag){
...
return false;
}
...我认为您打算做的是在识别器 class 中创建一个具有该名称的方法,即:
bool Recognizer::skip_one_char(const string &content, const string &tag){
...
return false;
}
...至少,该方法是 linker 正在寻找但找不到的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.