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

Kompilowanie bibliotek.

Object Storage Arubacloud
0 głosów
1,071 wizyt
pytanie zadane 14 marca 2016 w C i C++ przez KubenQPL Maniak (62,820 p.)
Mam problem z dorzuceniem biblioteki (libcurl) do projektu, mam z skompilowaniem plików do dll, ma ktoś może jakiś poradnik lub po krótce mógłby mi ktoś wytłumaczyć który plik skompilować, czym (cmake czy normalnie Visual Studio). Biblioteki z których wcześniej korzystałem(sfml) miały wszystko gotowe wystarczyło przerzucić pliki w odpowiednie miejsce i w projekcie dodać ścieżkę do /include i /lub.

2 odpowiedzi

0 głosów
odpowiedź 14 marca 2016 przez Dash Nałogowiec (29,650 p.)
edycja 14 marca 2016 przez Dash
Prawdopodobnie pobierałeś sfml w wersji już skompilowanej(binarki). .dll nie jest skompilowaną biblioteką, a tylko zbiorem dynamicznie dołączanych funkcji. Biblioteki mają rozszerzenie .a. Najprawdopodobniej w paczce plików które pobrałeś, a które masz samodzielnie skompilować, znajdują się pliki dla cmake. Odpalasz go, wskazujesz folder, wybierasz po drodze opcje i on wygeneruje Ci dopiero projekt dla vs/codeblocksa/etc. bądź bezpośrednio plik make. Zależy od wybranych po drodze opcji. Następnie taki projekt odpalasz i standardowo kompilujesz.

 

@ Edit

DLL jest jak najbardziej biblioteką (dynamic linked library), wyżej napisałem błedny skrót myślowy, chodziło o to, że wynikiem kompilacji będzie docelowo plik .a/,lib oraz ewentualnie pasująca do niego dll'ka (przy linkowaniu dynamicznym). Mój błąd, przepraszam.
komentarz 14 marca 2016 przez KubenQPL Maniak (62,820 p.)
Wygenerowałem cmake ten projekt tylko to tak jakby zrobiło mi pełno tych projektów. http://screenshot.sh/oAeEZhfeCVzhu
komentarz 14 marca 2016 przez Dash Nałogowiec (29,650 p.)
Ummm, wybacz ale nie korzystam z vs, nie pomogę.

Mogę zasugerować wygenerowanie pliku mingw make a następnie wyklepanie z konsoli "mingw32 make install" bądź pobranie binarki, https://curl.haxx.se/download.html, na samym dole są pakiety dla windowsa.
komentarz 14 marca 2016 przez criss Mędrzec (172,590 p.)
edycja 14 marca 2016 przez criss

Nie chce rozpoczynać nowego tematu pod Twoją odpowiedzią, ale *.dll to też biblioteka i jak najbardziej skompilowana. Różnica jest tylko w tym, że *.a czy *.lib (jest kilka różnych rozszerzeń dla tego samego) są linkowane statycznie, a *.dll - dynamicznie. Z resztą sama nazwa mówi: dll - dynamic link library.

edit: Chociaż między *.a i *.lib może być różnica. *.lib bywa używane razem *dll, ale to tylko kwestia umowna, z tego co rozumiem. http://stackoverflow.com/questions/2337949/whats-the-difference-between-lib-and-a-files

komentarz 14 marca 2016 przez Dash Nałogowiec (29,650 p.)
Tak, oczywiście dll to biblioteka dynamiczna. W sumie nie wiem dlaczego napisałem .... cóż. W zamyśle chciałem zwrócić uwagę że obecność dll'ek w paczce o niczym nie świadczy, że plik .a z adekwatną do niego dll'ką (bądź bez, przy linkowaniu statycznym) zostanie wygenerowany podczas kompilacji. Dobra, zamotałem, wybaczcie.
0 głosów
odpowiedź 14 marca 2016 przez criss Mędrzec (172,590 p.)

Ściągnąłem zipa stąd: https://curl.haxx.se/download.html

W CMake bez żadnych problemów. Configure, nie zmieniałem żadnych opcji, Generate. Kompilacja też bez problemu (na MinGW).

Btw. CMake nie kompiluje. CMake to uniwersalne narzędzie, które stworzy gotowy projekt pod wybrany kompilator, który wystarczy skompilować.

komentarz 15 marca 2016 przez KubenQPL Maniak (62,820 p.)
To powiedz mi które dokładnie ściągnąłeś i jak jest potem skompilowane to który projekt trzeba otworzyć, w którym mogę już sobie pisać ,programik bo widzę tu kilka projektów.  http://screenshot.sh/m9eCe9no2QBzO
komentarz 15 marca 2016 przez criss Mędrzec (172,590 p.)

No zip jest tylko jeden (te najnowsze - na samej górze). Nie wiem, mi wygenerowało jeden projekt dla Code::Blocksa.

Nie wiem które to są pliki projektu w VS, ale wnioskuje, że masz skompilować CURL.sln.

Podobne pytania

+1 głos
4 odpowiedzi 652 wizyt
pytanie zadane 29 marca 2016 w C i C++ przez Eliro Stary wyjadacz (12,160 p.)
0 głosów
3 odpowiedzi 209 wizyt
pytanie zadane 5 września 2020 w C i C++ przez Official gildin Bywalec (2,820 p.)
0 głosów
1 odpowiedź 165 wizyt

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 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!

...