Ah, it looks like the OpenDungeons managers haven't upgraded the AngelScript version they are using for a while.
This compilation error is specific to the g++ 4.7+ compiler and version. In a more recent version of AngelScript I've solved it by implementing a wrapper for the std::string::operator==. Like this:
// String equality comparison.
// Returns true iff lhs is equal to rhs.
//
// For some reason gcc 4.7 has difficulties resolving the
// asFUNCTIONPR(operator==, (const string &, const string &)
// makro, so this wrapper was introduced as work around.
static bool StringEquals(const std::string& lhs, const std::string& rhs)
{
return lhs == rhs;
}
void RegisterStdString_Native(asIScriptEngine *engine)
{
...
// Need to use a wrapper for operator== otherwise gcc 4.7 fails to compile
r = engine->RegisterObjectMethod("string", "bool opEquals(const string &in) const", asFUNCTIONPR(StringEquals, (const string &, const string &), bool), asCALL_CDECL_OBJFIRST); assert( r >= 0 );
...
}