2010-07-10 22 views
22

¿Alguien sabe biblioteca postal de C/C++ en la licencia de dominio público?La mejor biblioteca zip con licencia de dominio público

cumple los siguientes requisitos.

  1. que opera por la unidad como biblioteca stb_image.c
  2. Apoyado multiplataforma. Windows, Mac, Linux, etc.
  3. El lenguaje es C/C++
  4. licencia es de dominio público.
+7

"dominio público" tiene un significado muy específico; ¿Es eso lo que realmente quisiste decir? ¿Cuáles son los requisitos de licencia que necesita? ¿Se puede gestionar con algo que no sea de dominio público, como la licencia BSD o LGPL? – Clifford

+1

Esto no tiene sentido. No existe una "licencia de dominio público". Si es de dominio público, no necesita una licencia. De hecho, si es de dominio público * no puede tener * una licencia, ya que una licencia es emitida por los titulares de derechos de autor, pero el dominio público funciona por definición * no tiene * titulares de derechos de autor. –

+3

@ Jörg W Mittag: Eso definitivamente tiene sentido. Los derechos de autor son por defecto, con el fin de hacer algo de dominio público que el propietario de los derechos de autor debe hacer voluntariamente, liberar su trabajo al dominio público. Eso se puede considerar una licencia: otorgar a otras personas los derechos de usar el trabajo. – sharptooth

Respuesta

-1

http://www.bzip.org/ es bastante común y un requisito de toneladas de easy_installs en múltiples idiomas de destino.

Actualización: Soy consciente de que esto está mal, pero es un error muy común, así que estoy dejando que como centinela para describir un error frecuente.

+1

bzip usa el algoritmo de compresión Burrows-Wheeler, mientras que zip usa el algoritmo Deflate. –

+0

@ el.pescado: ¿era este un requisito que me perdí? – eruciform

+1

A pesar de las similitudes de nombres, bzip2! = Zip –

11

La implementación zip de código abierto más popular es Info-Zip. El algoritmo de deflación utilizado en formato de archivo zip se implementa mediante la biblioteca zlib. Ambos se lanzan con licencia liberal, tipo BSD, pero no de dominio público.

+0

No es de dominio público, pero intento usarlo. ¡Gracias! – Shiva

+1

No es una biblioteca y no es un buen código fuente. Bueno, se remonta a 1992, ¿qué podemos esperar? – Lothar

2

Lo más cerca que puedo pensar sería Xz-utils, que utiliza el LZMA SDK de dominio público. No es ZIP, per se, ni utiliza el algoritmo deflate, pero es una de las pocas bibliotecas de compresión en el dominio público.

+0

Gracias! ¡Sirve como referencia! – Shiva

+0

Según entiendo, el LZMA SDK requiere 7z.dll para funcionar (que es LGPL). –

+0

@BillyONeal: No tan lejos como he visto. LZMA se sostiene por sí mismo. Tal vez 7z.dll depende de LZMA? Ninguna de esas bibliotecas depende de la otra en mi sistema, y ​​ninguno de los scripts de compilación para LZMA depende de 7zip, hasta donde yo sé. – greyfade

4

No es de dominio público, pero Minizip, que se incluye con zlib, cumple con sus otros tres requisitos. También contiene miniunz.c, un ejemplo zip/unzip muy fácil de seguir.

+0

Oh, sirve como referencia. ¡Gracias! – Shiva

1

dominio público es el SDK de LZMA 7z http://www.7-zip.org/sdk.html

Problema: la documentación es "no existente" :-(

+0

Creo que el SDK requiere 7z.dll, que es LGPL. –

+1

De dónde obtienes esa información. No necesita usar 7z.dll para usar la compresión LZMA (archivos 7z y xz). El SDK no depende de 7z.dll. – rxantos

+0

Parece que nadie todavía está manteniendo este proyecto. – user1633272

15

aún no existía cuando se hizo la pregunta, pero lo hace ahora. :. miniz - dominio público, una sola fila C, inspirada explícitamente en los gustos de stb_image

12

me gustaría recomendar ZipLib https://bitbucket.org/wbenny/ziplib/wiki/Home

razones personales por las Me encanta este proyecto:

  • construido alrededor de C++ stl 11 arroyos (ex. descomprime en corrientes STL)
  • ligero (sin dependencias distintas de zlib)
  • se pueden utilizar tanto en Windows & liunx

Me tomó mucho tiempo para encontrar este proyecto - espero que esto ayude a alguien.

Cuestiones relacionadas