while building desurium (own fork: https://github.com/karolherbst/Desurium ) with system installed tinyxml (USE flags: -debug -doc -static-libs +stl) I got undefined reference to `TiXmlString::nullrep_`. The unforked version of desurium will build tinyxml itself Reproducible: Always Steps to Reproduce: 1. install tinyxml with USE="stl" 2. build desurium (own fork) Actual Results: build failure: ../../shared/usercore/libusercore.so: undefined reference to `TiXmlString::nullrep_ Expected Results: no build failure it works with USE="-stl"
You need to compile your project with -DTIXML_USE_STL or #define it in the headers if you want STL
I don't need stl functionality in any way. But tinyxml is built with stl by default, which causes this undefined reference. So I would have to know whether tinyxml is built with stl or not in the project. But since I want to use system libraries I would like the system to put that into the header file like in archlinux, when built with stl. Archlinux is using the following patch to fix that: https://projects.archlinux.org/svntogit/community.git/tree/trunk/tinyxml-2.5.3-stl.patch?h=packages/tinyxml
ideally tinyxml should ship pkg-config file, but that would be deviating from upstream even futher... moving to maintainer for review
I quite like the idea (even if a clean pkg-config file would be cleaner indeed), this will allow packages depending on tinyxml[stl] to drop the append-cxxflags (filezilla and gource at least) Added in tinyxml-2.6.2-r2, thanks for the report and link