Skip to content

Some fixes for VC2008 (in dutch) #2

@roxlu

Description

@roxlu

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions