I have created a game engine DLL using Ogre, which works just fine when it is linked to a C application. Now I would like to try using the same DLL in .NET (Mono), but I am getting this error in OgreRoot::OgreRoot():
I've tracked the problem down to the creation of the version string (OgreRoot.cpp, line 133). I'm guessing that the string object is not getting initialized properly, but I'm not positive yet. I thought I'd mention it in case someone with more knowledge about Ogre (just about everyone) might have a better idea what is going on.
The '+' operator is actually part of the STL (std::string), and probably isn't the problem. I'm not sure how to proceed now. Does Linux have the same issue as Windows where modules can be linked with different run-time libraries, causing memory issues?