最近我正在研究一个带有qt/c /xml和其他内容的项目。我必须获得一些字符串值形成XML文件。为此我正在使用
#include "pugixml.hpp"
。
但是当我使用pugi::xml_document document;
时,它会出现错误。
undefined reference to 'pugi::xml_document::xml_document()'
正如我在此链接中看到的那样,我必须在编译时使用pugixml.cpp
。任何人都知道如何将pugixml.cpp
添加到QT项目?
我正在使用
Qt Creator 4.0.2
Based on Qt 5.7.0 (GCC 4.9.1 20140922(Red Hat 4.9.1-10), 63 bit)
您可以通过编辑称为pugiconfig.hpp
的文件并在此处删除行:
// Uncomment this to switch to header-only version
//#define PUGIXML_HEADER_ONLY
将其更改为:
// Uncomment this to switch to header-only version
#define PUGIXML_HEADER_ONLY
现在,您无需直接包含pugixml.cpp
,标题将成为 selfsunconted 。
我相信这个错误是链接器错误。这意味着您添加了函数声明,但没有添加函数定义。
因此,下载'pugixml'并列出qt中的pugixml.cpp源文件。功能定义应在此.CPP文件中。
然后,您的编译器将能够找到功能的定义。
它应该解决问题。