Are there any known problems with TinyXML and STLPort's debug mode (defining _STLP_DEBUG)? I've been using TinyXML in my project, and recently added _STLP_DEBUG to the debug version to allow Boost::filesystem to compile, but the program now freezes. Compiles fine, but doesn't run. However the Release (non-debug) version works as it should.
I finally narrowed it down to a conflict between TinyXML and the _STLP_DEBUG define. Even the following code on its own, with _STLP_DEBUG defined, will freeze on execution:
#define TIXML_USE_STL
#include <tinyxml.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
TiXmlDocument doc;
doc.LoadFile( "test.xml" );
}
Nothing to it, and yet it freezes every time. If I run the program under the debugger and pause it while its frozen, it always turns up in the following STLPort function (within _threads.c):
Any possible ideas what could be causing the conflict? Given the simplicity of the test code causing the freeze, I don't know what else to try. Any ideas? I'm at a loss here.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Are there any known problems with TinyXML and STLPort's debug mode (defining _STLP_DEBUG)? I've been using TinyXML in my project, and recently added _STLP_DEBUG to the debug version to allow Boost::filesystem to compile, but the program now freezes. Compiles fine, but doesn't run. However the Release (non-debug) version works as it should.
I finally narrowed it down to a conflict between TinyXML and the _STLP_DEBUG define. Even the following code on its own, with _STLP_DEBUG defined, will freeze on execution:
#define TIXML_USE_STL
#include <tinyxml.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
TiXmlDocument doc;
doc.LoadFile( "test.xml" );
}
Nothing to it, and yet it freezes every time. If I run the program under the debugger and pause it while its frozen, it always turns up in the following STLPort function (within _threads.c):
template <int __inst>
void _STLP_CALL
_STLP_mutex_spin<__inst>::_M_do_lock(volatile __stl_atomic_t* __lock)
Any possible ideas what could be causing the conflict? Given the simplicity of the test code causing the freeze, I don't know what else to try. Any ideas? I'm at a loss here.