C/C ++ Windows + Linux ZIP-bibliotek til kun udpakning?

Indlæg af Hanne Mølgaard Plasc

Problem



Fortsættelse af:
Standalone Cross Platform (Windows/Linux)) Filkomprimering til C/C ++?


Efter mange forsøg på ZLIB ZZLIB LIBZIP MINIZIP får jeg altid mange problemer på samlingsfasen. Mange Google-søgninger viste OS-specifikke biblioteker, og jeg kan ikke finde noget, der passer til mine 'simple' behov.


Jeg har reduceret mine behov for biblioteket (eller wrapper?) Til dette:



  • Fungerer på både Windows og Linux ELLER 2 separate biblioteker; en som fungerer på Windows og den anden på Linux, kan jeg lave 2 separate projekter til Windows og Linux, hvis det er virkelig nødvendigt

  • Udpak fil fra zip til angivet mappe

  • Kontroller, om filen findes i zip-filen

  • C ELLER C ++ ELLER Blandet (ja, det betyder ikke noget)

  • Fortrinsvis meget enkelt at medtage i ethvert projekt
    (fx 5 c/cpp filer og 1-3 header filer? alligevel ikke tons filer, når jeg åbner alle libzip og zlib arkiverne jeg har noget som: 'O min ..')



Jeg har også tjekket mange stackoveflow-tråde med ordene 'Windows Linux ZIP C C ++', men alle resultaterne synes at have biblioteker, som jeg ELLER ikke ved, hvordan man kompilerer ELLER er for svært at bruge ELLER den har for mange 'nødvendige ting 'for bare simpelt zip-uddrag og tjek om filen eksisterer.


Jeg havde lagt projektet væk senere og begyndte det nu, og alle disse kompileringsfejl kom op (især at VC ++ 2010 ikke har C-99-inttyperne.)

Bedste reference


Jeg har haft meget god erfaring med Zipstream C ++ bibliotek, som giver dig en god OOP måde at håndtere zip-filer på. [2]


Hvis dit projekt allerede bruger nogle af de større libs som Boost , kan du prøve at bruge boost :: iostreams med filteret gzip Men funktionaliteten er på en eller anden måde begrænset.


Eller hvis du tilfældigvis bruger Poco , kig på dem 're implementation Poco :: Zip [3]