• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed C++ Builder dodawanie bibliotek

Object Storage Arubacloud
0 głosów
1,045 wizyt
pytanie zadane 9 grudnia 2017 w C i C++ przez voaeron Początkujący (370 p.)
zamknięte 10 grudnia 2017 przez voaeron

Mam prosty problem związany z C++ Builder.

Chcę użyć kilku bibliotek, np. zlip i curl. Zacząłem od curl. Dałem wszystkie pliki do D:\cpp\BORLAND\Include oraz Lib oraz dodałem ścieżki do tych miejsc , ale po skompilowaniu aplikacji otrzymuję takie błądy:

[Linker Error] Unresolved external '_curl_easy_init' referenced from SCIEŻKA BEZ ZNAKÓW SPECJALNYCH
[Linker Error] Unresolved external '_curl_easy_setopt' referenced from SCIEŻKA BEZ ZNAKÓW SPECJALNYCH
[Linker Error] Unresolved external '_curl_easy_perform' referenced from SCIEŻKA BEZ ZNAKÓW SPECJALNYCH
[Linker Error] Unresolved external '_curl_easy_cleanup' referenced from SCIEŻKA BEZ ZNAKÓW SPECJALNYCH

Rozumiem że to problem z linkerem, ale jak go rozwiązać? Google mi tym razem nie pomógł.

komentarz zamknięcia: Problem NIE-ROZWIĄZANY, wygląda na to że potrzebuje rozwinięcia, link -  https://forum.pasja-informatyki.pl/310295/jak-dodac-biblioteke-do-c-builder-6

1 odpowiedź

+1 głos
odpowiedź 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)
A o dodaniu bibliotek (plików .lib) pamiętałeś?
komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)

W pliku .zip pobranym z oficjalnej strony nie ma plików .lib

komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

No to masz problem, bo dodawanie bibliotek polega na dodawaniu plików .lib (w przypadku C++ Buildera).

 

Sprawdź, czy nie masz gdzieś tam pliku libcurl.dll. Jeśli jest, spróbuj narzędziem implib (katalog bin\ buildera) wygenerować bibliotekę importów.

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
Komenda IMPLIB D:\cpp\BORLAND\Bin\implib.exe -a D:\cpp\libs\curl-7.57.0\SSL\
libcurl.dll zwraca taki oto błąd:

Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
Error : unable to open file
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

A nie tak powinno być: implib -a <nazwa>.LIB <nazwa>.DLL ?

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
Nie mam pliku .lib

(błąd:
Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
Error : unable to open file
Error libcurl.lib: unknown file type
Error libcurl.lib: unknown file type)
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

Ta DLL-ka jest 32-bitowa?

 

Sugerowałem się opisem stąd -> link

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
OK, dzięki, mam plik .lib (oczywiście z Warning duplicate symbol: Curl_hmac_md5). Co teraz? Tylko napisz może jako nowa odpowiedź, komentarza nie da się dać na najlepszą odpowiedź ;)
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)
Jeśli warning, to chyba nie powinno być większych problemów. Po prostu spróbuj skompilować jakiś przykładowy kod wykorzystujący libcurla.
komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
[Linker Error] Unresolved external '_curl_easy_init' referenced from XXX
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)
Wracamy do początku :) -> dodałeś tę bibliotekę do projektu?
komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
Yup
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

W opcjach linkera, tak?

 

PS. w C++ Builderze można też z poziomu kodu. Jeśli dobrze pamiętam, to będzie #pragma comment (lib, "<nazwa>.lib")

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)

Gdzie?

komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

Nie wiem ;) C++ Buildera używałem kilkanaście lat temu. Użyj dyrektywy #pragma.

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
Oczywiście że nie działa, zakładam temat pt. Jak dodać bibliotekę do C++ Builder 6
komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

Możesz jeszcze spróbować dodać opcją Add to project.

komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)
Już próbowałem :/
komentarz 10 grudnia 2017 przez voaeron Początkujący (370 p.)

Dziękuję wam bardzo za pomoc. Jeżeli ktoś wie, niech podzieli się swoją wiedzą tutaj.

komentarz 10 grudnia 2017 przez j23 Mędrzec (194,920 p.)

Zakładanie nowego na ten sam temat nie ma sensu. Nie sądzę, żebyś dostał inne odpowiedzi niż te, które dostałeś tutaj (no może poza tą, żebyś zmienił środowisko na nowsze :P).

 

Jeśli jesteś pewny, że dodałeś bibliotekę, a dalej masz problem z błędami undefined reference ..., problem może być w nazwach funkcji w bibliotece importów. Wygeneruj bibliotekę bez opcji -a i spróbuj skompilować projekt.

Podobne pytania

0 głosów
1 odpowiedź 192 wizyt
pytanie zadane 15 maja 2016 w C i C++ przez Wylfryd Nowicjusz (200 p.)
0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 16 października 2016 w JavaScript przez niezalogowany
0 głosów
1 odpowiedź 514 wizyt

92,631 zapytań

141,498 odpowiedzi

319,869 komentarzy

62,011 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...