Problèmes de liaison à sqlite3.h avec gcc

Je travaille sur Linux Mint 15. J'ai téléchargé sqlite-amalgamation-3080002.zip de http://www.sqlite.org/download.html (et mettre les fichiers dans mon répertoire de projet)

J'ai fait (même si je sais que c'est redondant à l'étape précédente):

sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev

sqlite3 fonctionne en ligne de commande est très bien et je peux créer/modifier des bases de données.

J'ai créé un fichier de test:

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

int main(int argc, char* argv[]){
   sqlite3 *db;
   char *zErrMsg = 0;
   int rc;
   rc = sqlite3_open("test.db", &db);
   if( rc ){
      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
      exit(0);
   }else{
      fprintf(stderr, "Opened database successfully\n");
   }
   sqlite3_close(db);
}

et a couru:

gcc ./sqliteTest.c -o sqliteTest -lsqlite

et a obtenu l'erreur suivante:

./sqliteTest.c: In function main’:
./sqliteTest.c:14:7: warning: incompatible implicit declaration of built-in function exit [enabled by default]
/usr/bin/ld: cannot find -lsqlite
collect2: error: ld returned 1 exit status

J'ai essayé:

gcc -Wall sqliteTest.c -o sqliteTest -lsqlite

et a obtenu:

sqliteTest.c: In function main’:
sqliteTest.c:14:7: warning: implicit declaration of function exit [-Wimplicit-function-declaration]
sqliteTest.c:14:7: warning: incompatible implicit declaration of built-in function exit [enabled by default]
sqliteTest.c:7:10: warning: unused variable zErrMsg [-Wunused-variable]
sqliteTest.c:19:1: warning: control reaches end of non-void function [-Wreturn-type]
/usr/bin/ld: cannot find -lsqlite
collect2: error: ld returned 1 exit status

J'ai changé le <sqlite3.h> à "sqlite3.h" et fait la première commande compile et a obtenu:

./sqliteTest.c: In function main’:
./sqliteTest.c:14:7: warning: incompatible implicit declaration of built-in function exit [enabled by default]
/tmp/ccvdOOv2.o: In function `main':
sqliteTest.c:(.text+0x24): undefined reference to `sqlite3_open'
sqliteTest.c:(.text+0x39): undefined reference to `sqlite3_errmsg'
sqliteTest.c:(.text+0x89): undefined reference to `sqlite3_close'
collect2: error: ld returned 1 exit status

Je suis perplexe... Que dois-je essayer?

InformationsquelleAutor AppFzx | 2013-09-13