-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Helaas werkt de addon niet als je hem compileert met VC2008 (express edition).
sqlite3_bind_text(pStatement, index, value_string.c_str(), value_string.size(), SQLITE_STATIC) vertelt sqlite dat value_string.c_str () static is. Maar VC2008 creeert een temporary object voor value_string in ofxSQLiteFieldValues::current(). Het temp object wordt meteen gedestruct als ofxSQLiteFieldValues::bind verlaten wordt. Op dat moment wijst de pointer die sqlite gebruikt naar garbage. Kennelijk weet gcc de temp weg te optimaliseren, waardoor het probleem niet optreedt. Je kan het probleem oplossen door SQLITE_STATIC te vervangen door SQLITE_TRANSIENT. sqlite maakt dan meteen een kopie van de data. Met die wijzigingen werkt de addon prima onder VC2008.
Verder zitten er nog drie vervelende warnings in onder VC2008: in ofxSQLiteUpdate.h, ofxSQLiteDelete.h en ofxSQLiteAbstract.h definieer je "class slqite3", terwijl het in de sqlite headers "struct sqlite" is.