Linker Error mit SQLite

AMoKx666

Mitglied
Hallo

Ich wollte mich mal mit SQLite versuchen, aber leider bin ich bereits anbeim compilieren des Beispielprogrammes hängen geblieben. Wenn ich versuche den Code zu compilieren meldet sich der linker den Fehlermeldungen

[Linker error] undefined reference to `sqlite3_open'
[Linker error] undefined reference to `sqlite3_errmsg'
[Linker error] undefined reference to `sqlite3_close'
...

Code:
#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;
}

Getestet hab ich das Ganze mit DevC++ und Eclipse. Weiss jemand wie ich das Problem lösen kann ?

Danke
 
Hi.

Anscheinend hast du vergessen die SQLite3 Bibliothek für den Linker anzugeben.

Du mußt irgendwo in den Projekteigenschaften die "sqlite3" als Bibliothek angeben.

Gruß
 
Das Problem ist, dass ich keine Bibliothek habe und auch nicht weiss wie diese erstellt werden kann. Bei Google und Co bin ich leider auch nicht fündig geworden.
 
Zurück