Je commence un projet en C++ qui va utiliser sqlite 3.3.5. Je me fais
donc un p'tit programme pour me faire la main avant de commencer.
J'ai récupéré les sources, je les ai compilés mais je n'ai pas installé
sqlite sur mon système. Je ne veux pas installer sqlite, juste pouvoir
utiliser la librairie. Première question, possible ?
Arborescence:
project/
|--libs/
|--src/
J'ai mis libsqlite3.so.8 et sqlite3.h dans libs. Une de mes classes
(dans src) utilise sqlite3.h
#include "../libs/sqlite3.h"
Quand je compile, j'obtiens les messages suivants :
[18:11][delf@freaker src]# make
g++ -c SqliteWrapper.cpp
g++ -o program.out main.o SqliteWrapper.o
SqliteWrapper.o(.text+0x165): In function
`sercker::wrappers::CSqliteWrapper::Function() const':
: undefined reference to `sqlite3_open'
*** Error code 1
Je refais un récapitulatif de la situation actuelle (je vais péter un plomb) :
L'arborescence du projet
projet |-- include/ |-- libs/ |-- src/
1. j'ai compilé sqlite-3.3.5 (non installé sur le système) 2. j'ai récupéré: - le libsqlite3.so.8 -> mis dans libs/ - le libsqlite3.a -> mis dans libs/ - le sqlite3.h -> mis dans include/ 3. le fichier SqliteWrapper.cpp contient - #include "../include/sqlite3.h"
Ce n'est pas là qu'il fait mettre -lsqlite3, mais dans program.out: g++ -o program.out main.o SqliteWrapper.o -L../libs -lsqlite3
5. je lance la compilation :
[12:22][ src]# make g++ -c main.cpp g++ -I../include -L../libs -c SqliteWrapper.cpp -lsqlite3 g++: -lsqlite3: linker input file unused because linking not done g++ -o program.out main.o SqliteWrapper.o SqliteWrapper.o(.text+0x165): In function `sercker::wrappers::CSqliteWrapper::Function() const': : undefined reference to `sqlite3_open' *** Error code 1
Stop in /usr/home/delf/sercker/src.
Je ne sais plus quoi faire... tout me semble bon portant. Y a-t-il un outil pour visualiser les fonctions d'une lib ?
Merci anticipé.
Delf wrote:
[...]
Je commence à me poser des questions là...
Je refais un récapitulatif de la situation actuelle (je vais péter un
plomb) :
L'arborescence du projet
projet
|-- include/
|-- libs/
|-- src/
1. j'ai compilé sqlite-3.3.5 (non installé sur le système)
2. j'ai récupéré:
- le libsqlite3.so.8 -> mis dans libs/
- le libsqlite3.a -> mis dans libs/
- le sqlite3.h -> mis dans include/
3. le fichier SqliteWrapper.cpp contient
- #include "../include/sqlite3.h"
Je refais un récapitulatif de la situation actuelle (je vais péter un plomb) :
L'arborescence du projet
projet |-- include/ |-- libs/ |-- src/
1. j'ai compilé sqlite-3.3.5 (non installé sur le système) 2. j'ai récupéré: - le libsqlite3.so.8 -> mis dans libs/ - le libsqlite3.a -> mis dans libs/ - le sqlite3.h -> mis dans include/ 3. le fichier SqliteWrapper.cpp contient - #include "../include/sqlite3.h"