Happened to spot this line while debugging: BackEndLib/Files.cpp, FindDataPathDotTxt(), Line 1193:
char datEnvVar[wDatEnvVar.length() + 1];
g++ can handle that, and apparently some version of MS's compiler, but it's not globally valid C++. In fact, an acquaintance says VC++ 2005 doesn't compile similar code. A quick test with the -pedantic flag gets g++ telling me 'error: ISO C++ forbids variable-size array'. Since UnicodeToAscii already has a string overload, I recommend replacing that line and the next two with:
string datEnvVar;
UnicodeToAscii(wDatEnvVar, datEnvVar);
for (string::iterator env_char=datEnvVar.begin();
env_char!=datEnvVar.end(); ++env_char)
*env_char = toupper(*env_char);
[Last edited by schep at 09-16-2007 09:57 PM : unedit: meant to quote-reply]