Linux tinyxml causes compile time errors in AddonManager.cpp
#1
Compiling xbmc under linux from git (gentoo live ebuild) gives the following error:

Code:
AddonManager.cpp: In member function ‘bool ADDON::CAddonMgr::AddonsFromRepoXML(const TiXmlElement*, ADDON::VECADDONS&)’:
AddonManager.cpp:708:12: error: no match for ‘operator<<’ in ‘xml << decl’
AddonManager.cpp:709:13: error: no match for ‘operator<<’ in ‘xml << * element’
AddonManager.cpp: In member function ‘bool ADDON::CAddonMgr::LoadAddonDescriptionFromMemory(const TiXmlElement*, ADDON::AddonPtr&)’:
AddonManager.cpp:735:45: error: no match for ‘operator<<’ in ‘xml << TiXmlDeclaration(((const char*)"1.0"), ((const char*)"UTF-8"), ((const char*)""))’
AddonManager.cpp:736:11: error: no match for ‘operator<<’ in ‘xml << * root’

Maybe it was caused by bbbabb3e68d244f3e79e6e56e288cfe459259e16, when the include for "tinyXML/tinyxml.h" was replaced by "utils/XBMCTinyXML.h" in AddonManager.cpp without defining the "<<" operator.

Full build.log is here (lines 294-299).

Is this a known bug? Or am I missing something?
Reply
#2
maybe missing #include <sstream>
Reply
#3
Possible, if you look at tinyxml.h

Code:
#ifdef TIXML_USE_STL
        #include <string>
        #include <iostream>
        #include <sstream>
        #define TIXML_STRING            std::string
#else
        #include "tinystr.h"
        #define TIXML_STRING            TiXmlString
#endif

then sstream got included if TIXML_USE_STL was defined and tinyxml.h was included. Since the include of tinyxml.h was removed, sstream also doesn't get included any more.

Is anyone able to compile the latest head from xbmc under linux atm? If not, can someone please fix it or at least open a new bug (it seems that i am not allowed to create new bugs reports).
Reply
#4
TIXML_USE_STL is a compile-time setting for tinyxml. Make sure you build tinyxml with that set.

It ofcourse builds just fine under the platforms we support (debian/ubuntu for example), as tinyxml is compiled with STL support on those platforms.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#5
Ok found the reason, you need at least dev-libs/tinyxml-2.6.2-r2 on Gentoo to build xbmc. Sorry for the noise.
Reply

Logout Mark Read Team Forum Stats Members Help
tinyxml causes compile time errors in AddonManager.cpp0