Bonjour !
Je souhaite pouvoir manipuler des fichiers compressés dans mon programme C++. Pour cela je souhaite utiliser la librairie gzstream.
J'ai téléchargé la source, décompressé le dossier et je l'ai placé dans /lib.
J'utilise Code::Blocks et j'ai indiqué :
Settings > Compiler & Debugger > Linker Settings > /lib/gzstream/libgzstream.a
Et au début de mon code, j'ai bien mis :
#include </lib/gzstream/gzstream.h>
J'ai voulu tester les fonctions de gzstream avec ceci :
Mais j'obtiens des messages d'erreurs en compilant (avec GNU GCC Compiler) mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 string inFile = "/home/monfichier.gz"; string line; int nb_lignes = 0; igzstream igzStream; igzStream.open (inFile.c_str()); while(getline (igzStream, line)) { nb_lignes++; } cout << nb_lignes; igzStream.close();
/lib/gzstream/libgzstream.a(gzstream.o)||In function `gzstreambuf::underflow()': |
gzstream.C|| undefined reference to `gzread'|
/lib/gzstream/libgzstream.a(gzstream.o)||In function `gzstreambuf::open(char const*, int)': |
gzstream.C|| undefined reference to `gzopen'|
/lib/gzstream/libgzstream.a(gzstream.o)||In function `gzstreambuf::close()': |
gzstream.C|| undefined reference to `gzclose'|
/lib/gzstream/libgzstream.a(gzstream.o)||In function `gzstreambuf::flush_buffer()': |
gzstream.C|| undefined reference to `gzwrite'|
||=== Build finished: 4 errors, 0 warnings ===|
Je me demande s'il n'y a pas une erreur de "linkage" vers la librairie, mais comme je ne suis pas très à l'aise avec ces notions je ne sais plus quoi faire...
Pouvez-vous m'aider ?
Merci par avance
Partager