sqlite3 kompilieren unter win32



  • moin,

    ich habe auf der 32 bit win kiste, vs2005Exp - nicht aber unter
    linux 32bit debian das problem von 205 Warnungen bei der Kompilierung
    von sqlite3. Die Warnungen sind alle in der Form:

    Konvertierung von 'sqlite3_int64' in 'int', möglicher Datenverlust
    Konvertierung von 'double' in 'int', möglicher Datenverlust
    Initialisierung': Konvertierung von 'double' in 'int', möglicher Datenverlust

    usw.

    // Edit:
    konkret:
    sqlite3.c(17260) : warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenverlust möglich
    N = strlen(z);
    wobei N ein 'int' ist und strlen ein unsigned int (size_t) zurück gibt.
    Die Warnung ist durchaus berechtigt. Warum kommt die aber unter Linux nicht ?
    // Edit

    ich habe irgendwie noch nicht rausfinden können warum das nur auf der win
    kiste so ist. Kompiliert werden soll die aktuelle "sqlite-amalgamation"
    Version.

    Irgendwelche Tips ?

    Besten Dank im Voraus, RB



  • Hast du spezifische Erstellungsanweisungen für win32 berücksichtigt?
    Vllt das hier:
    http://www.sqlite.org/cvstrac/wiki?p=HowToCompileWithVsNet



  • danke, ich hatte noch eine ältere version 3.6.6.1 aus 2008.

    Der Hinweis:

    Download and unzip the file sqlite_source.zip
    (or sqlite-amalgamation-x_x_x_x.zip). Do not use
    the .tar.gz files because they have not been
    pre->processed for use with Windows.

    hat mich dann verleitet mal eine ne aktuelle Version 3.6.16 zu
    laden mit der nur noch 85 Warnungen kommen.

    2 mal
    Konvertierung von 'int' in 'unsigned char'
    4 mal
    Konvertierung von 'int' in 'u16'

    der Rest nur
    Bedingter Ausdruck ist konstant
    in Zeilen wie diese:
    > while( 1 ){
    damit kann ich doch leben 😉

    Vielen Dank für die Rückmeldung.

    Grüße, RB


Anmelden zum Antworten