2009-08-03 11 views
6

Je travaille sur un projet commercial qui nécessite de regrouper (emballer) quelques fichiers dans une archive, puis de les compresser. À l'heure actuelle, nous avons zlib dans notre bibliothèque d'utilitaires, mais il ne semble pas que zlib ait la capacité de compresser plusieurs fichiers en une seule archive. Est-ce que quelqu'un sait de bibliothèques libres que je serais capable d'utiliser pour cela?Emballage et compression C/C++

Répondre

7

Peut-être libtar? Aussi sous licence BSD.

+0

Il semble que libtar soit une bonne solution pour ce projet. Merci à tous pour vos réponses rapides. – Justin

3

Vous pouvez utiliser libzip - il est sous licence BSD-like, donc il devrait être utilisable dans un projet commercial.

2

Pour compresser plusieurs fichiers dans une archive zip, vous pouvez utiliser Zipios++

12

7Zip a full SDK plusieurs langues, y compris C et C++. La compression est extrêmement bonne, mais pas très rapide. Le code est sous licence LGPL.

+0

7Zip a également un support décent pour le cryptage AES. –

+2

Personnellement, je suis un fan de 7Zip, mais la LGPL pourrait causer des problèmes dans cette situation. – Justin

+0

La partie LZMA SDK de 7-Zip est dans le domaine public, donc aucune préoccupation LGPL ne s'applique. Si vous voulez toutes les fonctionnalités de 7-Zip (pas seulement LZMA), alors 7-Zip lui-même est sous la LGPL, mais ce n'est pas un problème pour les applications commerciales tant que vous le laissez dans une DLL, inclure une copie de la LGPL dans votre distribution, et fournir la source sur demande. –

-1

Regardez également bzip2.

+0

bzip2 ne peut pas compresser plusieurs fichiers dans une archive. Vous utilisez généralement tar pour joindre tous vos fichiers en un avant de le donner à bzip. –

Questions connexes