Comment lire / écrire les fichiers gzip?
Comment lire /écrire les fichiers gzip en C++?
La iostream
classes wrapper ici à l'air bon, et voici un simple exemple d'utilisation:
gz::igzstream in(filename);
std::string line;
while(std::getline(in, line)){
std::cout << line << std::endl;
}
Mais je n'ai pas pu réellement un lien (bien que j'ai un /usr/lib/libz.a
). Un simple
g++ test-gzstream.cpp -lz
ne l'ai pas fait (undefined reference to gz::gzstreambase::~gzstreambase()
).
Si vous avez besoin d'utiliser igzstream et de trouver le problème ou toute solution est ok?
La LGPL n'est pas une option pour moi, depuis que je suis en développement pour iOS, connaissez-vous un non-virale alternative?
La LGPL n'est pas une option pour moi, depuis que je suis en développement pour iOS, connaissez-vous un non-virale alternative?
OriginalL'auteur Frank | 2009-03-08
Vous devez vous connecter pour publier un commentaire.
Évidemment, vous devez le fichier cpp où la gzstreambase destructeur est ainsi définie, c'est à dire gzstream.cpp (c'est le lien de la faute). libz est juste un c-api pour gzip, il ne sait rien de c++ stdlib ruisseaux.
De Boost iostream lib a gzip et bzip2 flux de trop.
EDIT: mis à Jour le lien pointe vers la dernière version du code, qui comporte une importante correction de bug.
Alors, il a besoin de lien pour la lib, où gzstream.cpp a été compilé. liblm_access?
Merci, tout compiler avec gzstream.cpp des œuvres.
gzstream est sous LGPL. attention à ne pas utiliser comme bibliothèque statique si à code source fermé.
OriginalL'auteur Macke
Envisager d'utiliser le Boost zip filtres. Selon eux, il prend en charge
bzip
,gzip
etzlib
format.OriginalL'auteur Johannes Schaub - litb
À donner plus de détails que ce qui a été brièvement mentionné par les autres utilisateurs, voici comment j'ai réussi à travailler avec
gzstream
sur mon ordinateur.Tout d'abord, j'ai téléchargé
gzstream
et installé dans ma maison (les deux dernières lignes peuvent être ajoutées à votre~/.bash_profile
):Ensuite, j'ai testé l'installation:
Enfin, j'ai écrit un mannequin programme pour vérifier que je pourrait utiliser efficacement la bibliothèque:
Voici le code (très minimaliste, devrait être beaucoup améliorée pour les applications réelles!):
Voici comment j'ai compilé:
Et le dernier mais non le moindre, voici comment je l'ai utilisé:
OriginalL'auteur tflutre
J'ai eu ce problème aussi bien avec l'ancien compilateur GCC. Je viens de corrigé cela en faisant un en-tête uniquement version de gzstream qui devrait être plus facile à utiliser.
https://gist.github.com/1508048
OriginalL'auteur Piti Ongmongkolkul
Ce qui est de la "Gzstream de la Bibliothèque de la Page d'Accueil de
OriginalL'auteur Mykola Golubyev