I'm trying to print the XML document data in the console using the RapidXML Library in my C++ application.
I'm following the RapidXML Manual link here, but I got a compile-time error.
Here is my C++ code:
#include <iostream>
#include "rapidxml.hpp"
#include "rapidxml_utils.hpp"
#include "rapidxml_print.hpp"
int main() {
rapidxml::file<> xmlFile("beerJournal.xml");
rapidxml::xml_document<> doc;
doc.parse<0>(xmlFile.data());
std::cout << doc;
return 0;
}
Here is the error:
rapidxml_print.hpp:115: error: ‘print_children’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
out = print_children(out, node, flags, indent);
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
rapidxml_print.hpp:169: ‘template<class OutIt, class Ch> OutIt rapidxml::internal::print_children(OutIt, const rapidxml::xml_node<Ch>*, int, int)’ declared here, later in the translation unit
inline OutIt print_children(OutIt out, const xml_node<Ch> *node, int flags, int indent)
^~~~~~~~~~~~~~
Obs.: I already tried the other two RapidXML print methods described in the manual (link above).
My setup:
- Ubuntu 19 x64
- G++ 8.3.0
- RapidXML 1.13
- Qt Creator IDE 4.11.0
- Qt 5.14.0