Strona 1 z 1

ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: piątek, 16 listopada 2012, 17:35
przez Giewont
Witam.

Próbuję użyć biblioteki ZLib w środowisku C++ Builder 6. Pobrałem ze strony
http://www.base2ti.com/ bibliotekę w wersji 1.2.3, gdyż jak głosi opis
"includes zlib source code and c++ builder 6 project files (c++ builder 6 was used to compile c source into object
files) ".

Niestety próba użycia jakiejkolwiek funkcji z biblioteki ZLib kończy się błędem linkera w postaci:


"[Linker Error] Unresolved external '_z_compress2' referenced from E:\SETUP\TEST\UNIT1.OBJ" (na przykładzie
użycia funkcji compress2).



Dodam, że odpowiednie pliki nagłówkowe (zlib.h, zconf.h) a także plik .lib są załączone w opcjach środowiska.
Próbowałem również z wersją 1.2.5-dll, przerabiając dll-a za pomocą implib-a -> efekt niestety taki sam.
Na forach, również obcojęzycznych, znalazłem różne instrukcje rozwiązania problemu - nic nie pomogło. Efekt
identyczny jak opisałem wyżej.

Czy ktoś z Was ma może pomysł bądź po prostu wie jak sobie z tym ustrojstwem poradzić ? :/

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: sobota, 17 listopada 2012, 00:14
przez Cyfrowy Baron
Giewont napisał(a):a także plik .lib są załączone w opcjach środowiska


Czy bibliotekę *.LIB włączasz do projektu poprzez menu: Project -> Add to project?

Trudno będzie coś poradzić, gdyż dziś już mało kto używa środowiska w wersji 6, a poza tym większość używa biblioteki ZIPForge, no i środowisko C++Builder od wersji chyba 2010 ma własną bibliotekę ZIP.

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: sobota, 17 listopada 2012, 09:34
przez Corvis
środowisko C++Builder od wersji chyba 2010 ma własną bibliotekę ZIP


Pamiętasz nazwę modułu ?

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: sobota, 17 listopada 2012, 10:45
przez Cyfrowy Baron
Plik pomocy jest pod tym względem dobrze opracowany. W XP2 jest to w bibliotece System.ZIP.hpp. Jest też biblioteka System.Zlib.hpp obsługująca archiwum gz ale tej nie testowałem.
Biblioteki są jednak średnio wygodne w użyciu i nie znalazłem w nich funkcji potrafiącej wypakować zawartość archiwum bezpośrednio do pamięci tak jak to robi ZIPForge.

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: sobota, 17 listopada 2012, 12:06
przez polymorphism
zlib, jeśli dobrze pamiętam, dość prosto skompilować tudzież od razu dołączyć do projektu aplikacji, bez tej całej zabawy z DLL-kami (chyba że względy licencyjne tego wymagają). Wystarczy dołączyć wszystkie pliki *.c, dodać katalog z nagłówkami i powinno wystarczyć.

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: poniedziałek, 19 listopada 2012, 15:06
przez Giewont
Cyfrowy Baron napisał(a):Czy bibliotekę *.LIB włączasz do projektu poprzez menu: Project -> Add to project?

Trudno będzie coś poradzić, gdyż dziś już mało kto używa środowiska w wersji 6, a poza tym większość używa biblioteki ZIPForge, no i środowisko C++Builder od wersji chyba 2010 ma własną bibliotekę ZIP.


Tak, robiłem poprzez Project -> Add to project.
Niestety biblioteka jest z góry narzucona (projekt na uczelnię) - muszę użyć zlib-a...

Re: ZLib i C++ Builder - błędy linkowania

Nowy postNapisane: poniedziałek, 19 listopada 2012, 17:16
przez Cyfrowy Baron
Nie wiem czy zauważyłeś, ale na stronie z której pobrałeś biblioteki - http://www.base2ti.com/ - ZLib jest w wersji tylko dla Delphi. Co się zaś tyczy C++Builder 6 to źródła zostały skompilowane do plików *.obj.

Przejrzałem kilka anglojęzycznych for dotyczących tego problemu i niestety nikt nie znalazł sposobu na jego rozwiązanie, co jednak ciekawe problem dotyczy środowiska C++Builder 6. Z tego co pamiętam to środowisko w darmowej wersji Personal zawierało błędy, których łatki nie usunęły gdyż nie wypuszczono ich do wersji darmowej.