In checking the documentation for some method, I ended up wondering what ‘_StringBase’ is (as I already knew Ogre::string was a std::string). Taking a look at OgrePrerequisites.h I found an interesting define and typedef:
00148 typedef unsigned char uchar;
00149 typedef unsigned short ushort;
00150 typedef unsigned int uint;
00151 typedef unsigned long ulong;
00152
00153 #if OGRE_WCHAR_T_STRINGS
00154 typedef std::wstring _StringBase;
00155 #else
00156 typedef std::string _StringBase;
00157 #endif
00158
00159 typedef _StringBase String;
Since my project is set to use the unicode character set, it would be more convenient if Ogre::String objects were basic_string
Generally MSVC++ is a pretty fricken fast C++ compiler on Windows compared to MinGW, but Ogre is not a midgit. I setup a batch build for release/debug dll/static of all the required libraries and plugins in VCExpress, then I launched SWAT 4. The game takes a little while to startup so I went about my usual stuff; when I returned I found that Windows XP had crashed!
A blue screen of death complaining about a page fault in a non paged area, and noting an nv4_disp.dll (nvidia) file.
Sometime when I can afford the downtime, I’ll likely conduct tests of the machines memory (…), graphics card, and do a reformat of Windows XP. Before any of it, I will also likely compile a custom FreeBSD kernel on the machine as a pre-test of her integrity.
I have never, ever, under any circumstances had a system crash while compiling code., no matter what I throw at it (although I admit, 90% of the time I compile code on a FreeBSD box lol). Run out of disk space yes, shout barely intelligible linkage errors yes, muckle buckle about crappy dependencies yes… but never, has any of these *****s crashed during a compile! So this is starting to worry me a bit… oi, it’s always more trouble when a computer has been both obsolete and off warrentee for a few years.