Compilation de SQlite3 en C ++
Je compile le code de cette façon:
g++ main.cpp -I sqlite3
où sqlite3 est un dossier avec les fichiers source que j'ai reçu de sqlite-amalgamation-3071100.zip-je l'ai est l'indicateur, y compris pour les sources.
Cette archive contient : shell.c, sqlite3.c, sqlite3.h, sqlite3ext.h.
C'est ce que je reçois:
undefined reference to `sqlite3_open'
Le programme que contiennent les #include et appel de la fonction sqlite3_open(...);
Je peux compiler tous les beaux-si je fais "sudo apt-get install libsqlite3-dev" et compiler le programme avec la commande
g++ main.cpp -lsqlite3
Mais je veux résoudre ce problème, parce que je ne veux pas à avoir à installer de certaines bibliothèques sur un autre ordinateur, je n'ai pas accès pour que!
source d'informationauteur Eclipse-user | 2012-05-13
Vous devez vous connecter pour publier un commentaire.
Mon makefile pour sqlite shell et c++ api de test:
Télécharger le sqlite fusion de http://www.sqlite.org/download.html.
Aucune référence à sqlite comme extern "C", depuis sqlite est écrit en C.
Créer la bibliothèque sqlite avec "gcc -c sqlite3.c".
Lien de votre programme à la nouvelle bibliothèque "g++ main.c sqlite3.o"
Vous sera besoin de compiler
sqlite3
avecgcc
. J'ai essayég++
et le résultat a été des centaines d'erreurs et d'avertissements.Peut-être
sqlite3
shoule être écrit de telle façon que l'on pouvait compiler avec un compilateur C++. Compilateurs C++ sont beaucoup encore plus exigeant et faire respecter les types et ces beaucoup mieux qu'un compilateur C.Sur Windows avec MinGW32 compiler une bibliothèque de liens dynamiques par: