Je veux pouvoir compresser des fichiers à partir de mon application non-gui C/C++, sur plusieurs versions de Windows, Linux/Unix et MacOS.
L'utilisateur va compiler et exécuter en utilisant cette application en utilisant Eclipse + makefile ou VisualStudio. Je ne veux pas que l'utilisateur doive installer quelque chose séparément ou avoir mes exécutables d'installation de makefile.
Préférez l'open-source. Je regarde déjà "Zip 3.0" ...
Jetez un oeil à Libarchive . J'ai passé beaucoup de temps à chercher une bibliothèque multi-plateforme et sous licence LGPL avec une interface pratique. C'est le meilleur de tous que j'ai vu. Outil très simple et puissant. Conçu à l'origine pour les systèmes de type Unix mais il y a aussi la version Windows .
Je recommanderais ZipLib https://bitbucket.org/wbenny/ziplib/wiki/Home
Raisons personnelles pour lesquelles j'aime ce projet:
Il m'a fallu beaucoup de temps pour trouver ce projet - j'espère que cela aide quelqu'un.
J'ai eu d'excellents résultats avec miniz: https://code.google.com/p/miniz/
Pour une simple compression de chaînes en c ++, j'aime aussi beaucoup la solution de Timo Bingmann .
Nous avons utilisé zlib plusieurs fois ici. C'est une bibliothèque assez standard qui a des implémentations dans la plupart des langues principales.
Que dis-tu de ça:
ZLIB - la bibliothèque la plus portable au monde. open source, très éprouvé et fiable. L'étalon-or. pourquoi utiliser autre chose?
D'autres ont mentionné zlib, qui est agréable et assez facile.
Le SDK 7-Zip (LZMA) est plus complexe mais a également de très bons taux de compression.
Edit: Bien que toujours en développement, avec le processus de publication et l'historique au fil du temps, j'hésiterais à le recommander maintenant.