c++程序中未定义的引用错误
Undefined reference error in C++ program
我正在使用RapidXML解析c++中的XML文件。我已经制作了treeNode.h和treeNode.cpp文件。我正在创建一个treeNode对象来帮助我进行解析。当我尝试这样做时,它会给我一个未定义的引用错误。给我错误的代码行(我认为)是以下行:
treeNode<xml_node<> > * tn = new treeNode<xml_node<> >(root_node);
如果你想知道我从哪里得到root_node,它在我的main.cpp中定义如下:
xml_document<> doc;
doc.parse<0>(&buffer[0]);
xml_node<> * root_node = doc.first_node();
错误信息是这样的:
undefined reference to `treeNode<rapidxml::xml_node<char> >::treeNode(rapidxml::xml_node<char>*)'
collect2: ld returned 1 exit status
这是我在treeNode.h中的三个构造函数:
treeNode(T* element1);
treeNode(T* element1, T* parent1);
treeNode(T* element1, T* parent1, vector<treeNode<T>*> child1);
任何帮助修复这个错误将是非常感激的。谢谢你!
我怀疑你已经在"treeNode.cpp"中实现了treeNode
方法。
在这种情况下,它们还没有被实例化。
所有你的treeNode
实现需要在treeNode.h
头中,所以编译器可以在使用它们时实例化函数。
否则,您将只有声明而没有定义——因为编译器不能生成任何定义——并且您将得到与根本没有任何实现一样的链接错误。
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++引用错误
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 只有级联分类器会发出未定义的引用错误
- 2个模板化类的非模板友元函数未定义引用错误
- C/C++ 取消引用错误:在空检查之前取消引用
- 为什么我的C++代码无法编译,出现未定义的引用错误
- 我的代码中C++未定义的引用错误?
- 模板专用化会导致未定义的引用错误
- .cpp文件中未定义的引用错误
- c++ 中目录中文件的未定义引用错误
- Opencv4 使用 pkg-config 给出未定义的引用错误
- 使用Cygwin C++时出现未定义的引用错误,为什么我的文件没有链接?
- 共享指针取消引用错误
- 编译简单的多文件类程序时出现未定义的引用错误
- 模板函数产生未定义的引用错误
- 调用提取重加载器会产生对"运算符"的未定义引用错误>>
- 如何修复"未定义的引用"错误 opencv 和 g++
- 未定义的引用错误,我该怎么办?