Announcement

Collapse
No announcement yet.

Probleme mit SQLite Demoprogramm

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit SQLite Demoprogramm

    Hallo,

    eines gleich zu Beginn, ich bin Punkto C/C++ ein ziemlicher Neuling, ich habe vorher eigentlich hauptsächlich mit PHP, JS, Java und einer mit VB vergleichbaren betriebsinternen Makro-Sprache gearbeitet.

    Zu meinem Problem. Ich habe den Auftrag bekommen, für unsere Software eine neue Nicht-Server-basierende Datenbank zu finden (wir wollen unsere Paradox Datenbank einstampfen, weil wir die BDE weg haben wollen).
    Dazu habe ich mir SQLite angeschaut, was so auf den ersten Blick eine recht gute, dateibasierende, serverlose Datenbank zu sein scheint.

    Ich habe mir die "sqlite-amalgamation-3_6_17.zip" von http://www.sqlite.org/download.html herunter geladen und wollte folgendes Beispielprogramm testen (http://www.sqlite.org/quickstart.html):

    #include <stdio.h>
    #include <sqlite3.h>

    static int callback(void *NotUsed, int argc, char **argv, char **azColName){
    int i;
    for(i=0; i<argc; i++){
    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
    }
    printf("\n");
    return 0;
    }

    int main(int argc, char **argv){
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;

    if( argc!=3 ){
    fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
    exit(1);
    }
    rc = sqlite3_open(argv[1], &db);
    if( rc ){
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);
    exit(1);
    }
    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
    if( rc!=SQLITE_OK ){
    fprintf(stderr, "SQL error: %s\n", zErrMsg);
    sqlite3_free(zErrMsg);
    }
    sqlite3_close(db);
    return 0;
    }

    Wenn ich versuche den Code so wie er da steht zu compilieren, dann bekomme ich folgendes Fehlermeldungen:

    [BCC32 Warnung] sqlite3_test.c(21): W8065 Aufruf der Funktion 'exit' ohne Prototyp
    [BCC32 Warnung] sqlite3_test.c(27): W8065 Aufruf der Funktion 'exit' ohne Prototyp
    [ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_open' referenziert von C:\USERS\STEFAN\DOCUMENTS\RAD STUDIO\PROJEKTE\DEBUG\SQLITE3_TEST.OBJ
    [ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_errmsg' referenziert von C:\USERS\STEFAN\DOCUMENTS\RAD STUDIO\PROJEKTE\DEBUG\SQLITE3_TEST.OBJ
    [ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_exec' referenziert von C:\USERS\STEFAN\DOCUMENTS\RAD STUDIO\PROJEKTE\DEBUG\SQLITE3_TEST.OBJ
    [ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_free' referenziert von C:\USERS\STEFAN\DOCUMENTS\RAD STUDIO\PROJEKTE\DEBUG\SQLITE3_TEST.OBJ
    [ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_close' referenziert von C:\USERS\STEFAN\DOCUMENTS\RAD STUDIO\PROJEKTE\DEBUG\SQLITE3_TEST.OBJ

    Wenn ich die im Download vorhandene zweite header-datei mit einbinde (<sqlite3ext.h>), werden die Fehler zwar weniger aber ich bekomme immer noch die Fehler:

    [BCC32 Warnung] sqlite3_test.c(21): W8065 Aufruf der Funktion 'exit' ohne Prototyp
    [BCC32 Fehler] sqlite3_test.c(23): E2451 Undefiniertes Symbol 'sqlite3_api'
    [BCC32 Warnung] sqlite3_test.c(27): W8065 Aufruf der Funktion 'exit' ohne Prototyp


    Kann mir vielleicht irgend jemand sagen, was ich da falsch mache oder was da nicht stimmt? Als IDE benutze ich "Code Gear C++ Builder 2007".

    Mfg Schlutz

  • #2
    Denke, dass da noch einige LIBs mit eingebunden werden müssen
    Christian

    Comment

    Working...
    X