Ok, i did some recompiling and I think you were right, there are several different libraries, and I think 1 of them had been compiled against the old version of AS.
But I'm getting another crash now:
ScriptEngine::ScriptEngine() { // Create the script engine m_engine = asCreateScriptEngine( ANGELSCRIPT_VERSION ); int r = 0; // Set the message callback to receive information on errors in human readable form. // It's recommended to do this right after the creation of the engine, because if // some registration fails the engine may send valuable information to the message // stream. r = m_engine->SetMessageCallback(asFUNCTION(msgCallback), 0, asCALL_CDECL); assert( r >= 0 ); m_engine->BeginConfigGroup( "Common" ); // AngelScript doesn't have a built-in string type, as there is no definite standard // string type for C++ applications. Every developer is free to register it's own string type. // The SDK do however provide a standard add-on for registering a string type, so it's not // necessary to register your own string type if you don't want to. RegisterScriptString( m_engine ); r = m_engine->RegisterObjectType("char", sizeof(char), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_PRIMITIVE); assert( r >= 0 ); // Register the World r = m_engine->RegisterObjectType("World", sizeof(World), asOBJ_REF ); assert( r >= 0 ); r = m_engine->RegisterObjectBehaviour("World", asBEHAVE_ADDREF, "void f()", asFUNCTION(DumbyAddRef), asCALL_CDECL_OBJFIRST); assert( r >= 0 ); r = m_engine->RegisterObjectBehaviour("World", asBEHAVE_RELEASE, "void f()", asFUNCTION(DumbyReleaseRef), asCALL_CDECL_OBJFIRST); assert( r >= 0 );
The 2nd to last line there fails the assert, but only on 64bit Linux, it's fine on windows.
*edit*
I just printed our r and it's -7
Idk what that means...