[Win32API & C] Zip-Archiv enpacken

Ich habe es mir mal heruntergeladen. Da gibt es auch ein paar Beispiele, die meiner Meinung nach gut kommentiert sind.
 
Hallo, ich bin es wieder!
Die zlib.a konnte ich mir zwar bauen (erfolgreich, vielen Dank für den Tipp),
aber ich stosse auf ein weiteres Problem:
Compiler: Default compiler
Building Makefile: "Makefile.win"
Executing make clean
rm -f miniunz.o Test02.exe
gcc.exe -D__DEBUG__ -c main02.c -o miniunz.o -I"C:/BOOK/Dev-Cpp/include" -pg -g3
gcc.exe -D__DEBUG__ miniunz.o -o "miniunz.exe" -L"C:/BOOK/Dev-Cpp/lib" "zlib.a" -lgmon -pg -g3 // Meine eigene Lib!
miniunz.o(.text+0x2c9): In function `do_list':
miniunz.c:180: undefined reference to `unzGetGlobalInfo'
miniunz.o(.text+0x368):miniunz.c:192: undefined reference to `unzGetCurrentFileInfo'
miniunz.o(.text+0x546):miniunz.c:238: undefined reference to `unzGoToNextFile'
miniunz.o(.text+0x5ed): In function `do_extract_currentfile':
miniunz.c:267: undefined reference to `unzGetCurrentFileInfo'
miniunz.o(.text+0x735):miniunz.c:309: undefined reference to `unzOpenCurrentFilePassword'
miniunz.o(.text+0x96f):miniunz.c:375: undefined reference to `unzReadCurrentFile'
miniunz.o(.text+0xa7c):miniunz.c:400: undefined reference to `unzCloseCurrentFile'
miniunz.o(.text+0xaae):miniunz.c:407: undefined reference to `unzCloseCurrentFile'
miniunz.o(.text+0xaf9): In function `do_extract':
miniunz.c:426: undefined reference to `unzGetGlobalInfo'
miniunz.o(.text+0xb5e):miniunz.c:439: undefined reference to `unzGoToNextFile'
miniunz.o(.text+0xbbb): In function `do_extract_onefile':
miniunz.c:459: undefined reference to `unzLocateFile'
miniunz.o(.text+0xf07): In function `main':
miniunz.c:552: undefined reference to `fill_win32_filefunc'
miniunz.o(.text+0xf1c):miniunz.c:553: undefined reference to `unzOpen2'
miniunz.o(.text+0xf59):miniunz.c:561: undefined reference to `unzOpen2'
miniunz.o(.text+0x108e):miniunz.c:592: undefined reference to `unzClose'
collect2: ld returned 1 exit status
make.exe: *** [Test02.exe] Error 1
Execution terminated
Die selbst gebaute zlib ist eingebunden!
Danke trotzdem für die Hilfe
lorenz

Ich habe es mir mal heruntergeladen. Da gibt es auch ein paar Beispiele, die meiner Meinung nach gut kommentiert sind.
Ich habe die Beispiele nicht gefunden! Wie heissen die Dateien?
 
>>Wegen den Fehlermeldungen: Du musst den Header einbinden

Ich habe die Beispiele nicht gefunden! Wie heissen die Dateien?
Geh auf die Seite, die badday gepostet hat (http://www.zlib.net/).
Scroll runter bis zum Bereich "Source Code", dann lade dir ein von diesen gepackten Verzeichnissen runter (je nachdem, welches du entpacken kannst) und entpacke es.
Da gibt es einen Ordner Examples
 
Hallo, ich bin es wieder. Das klappt zwar wunderbar, aber ich kann nur eine Datei pro Archiv speichern!
Das genügt leider nicht.
Ich will ZIP oder was anderes. Dies ist leider nur .gz und dabei ist die Kompression zwar gross, aber nur eine Datei pro Datei erlaubt.
z7 würde auch noch gehen
 
Zuletzt bearbeitet:
Hi.
Hallo, ich bin es wieder. Das klappt zwar wunderbar, aber ich kann nur eine Datei pro Archiv speichern!
Das genügt leider nicht.
Ich will ZIP oder was anderes. Dies ist leider nur .gz und dabei ist die Kompression zwar gross, aber nur eine Datei pro Datei erlaubt.
z7 würde auch noch gehen
OMG :confused:

Im contrib/minizip Verzeichnis ist minizip drin. Du mußt erst die zlib erstellen (im win32 Verzeichnis gibt es Makefiles für Borland, MSVC und auch GCC) und dann minizip erstellen.
Code:
> cd zlib-1.2.3
> make -f win32\Makefile.gcc
gcc  -O3 -Wall -c -o adler32.o adler32.c
gcc  -O3 -Wall -c -o compress.o compress.c
gcc  -O3 -Wall -c -o crc32.o crc32.c
gcc  -O3 -Wall -c -o deflate.o deflate.c
gcc  -O3 -Wall -c -o gzio.o gzio.c
gcc  -O3 -Wall -c -o infback.o infback.c
gcc  -O3 -Wall -c -o inffast.o inffast.c
gcc  -O3 -Wall -c -o inflate.o inflate.c
gcc  -O3 -Wall -c -o inftrees.o inftrees.c
gcc  -O3 -Wall -c -o trees.o trees.c
gcc  -O3 -Wall -c -o uncompr.o uncompr.c
gcc  -O3 -Wall -c -o zutil.o zutil.c
ar rcs libz.a adler32.o compress.o crc32.o deflate.o gzio.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
windres --define GCC_WINDRES -o zlibrc.o win32/zlib1.rc
dllwrap --driver-name gcc --def win32/zlib.def \
          --implib libzdll.a -o zlib1.dll adler32.o compress.o crc32.o deflate.o gzio.o infback.o inffast.o inflate.o inftrees.o trees.o unc
ompr.o zutil.o  zlibrc.o
strip zlib1.dll
gcc  -O3 -Wall -c -o example.o example.c
gcc  -s -o example example.o libz.a
gcc  -O3 -Wall -c -o minigzip.o minigzip.c
gcc  -s -o minigzip minigzip.o libz.a
gcc  -s -o example_d example.o libzdll.a
gcc  -s -o minigzip_d minigzip.o libzdll.a
> cd contrib\minizip
> make CC=gcc
gcc -O -I../.. -o miniunz miniunz.o unzip.o ioapi.o iowin32.o ../../libz.a
gcc -O -I../.. -o minizip minizip.o zip.o   ioapi.o iowin32.o ../../libz.a
Gruß
 
Danke tausendmal deepthroat, es läuft alles ohne Fehler! ^^ Ohne euch alle wäre ich noch Stunden am PC gesssen!
Danke vielmals an alle:):):):)
 
Zurück