![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 21.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Po przeczytaniu trochę o cURL postanowiłem napisać program w C, używający tej biblioteki. Niby wszystko ładnie, program jednak się nie kompilował. Sprawdziłem więc, czy przykładowy program z oficjalnej strony uda się skompilować. Oto kod źródłowy: Kod #include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } Potem piszę sobie: $ gcc knights.c I dostaję błąd: /tmp/ccIrILAj.o: In function `main': knights.c:(.text+0x9): undefined reference to `curl_easy_init' knights.c:(.text+0x2c): undefined reference to `curl_easy_setopt' knights.c:(.text+0x35): undefined reference to `curl_easy_perform' knights.c:(.text+0x41): undefined reference to `curl_easy_cleanup' collect2: ld returned 1 exit status To były tylko wywołania funkcji! Jakim więc cudem TO może nie działać? Ten post edytował slash12345 23.07.2006, 17:28:56 -------------------- Kod thewanderer@debian:~$ sudo apt-get dist-upgrade Konieczne pobranie 666KB pakietów. Czy chcesz kontynuować? [T/n] nieeeeeeee |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 3.05.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
a masz zainstalowane wszystkie elementy biblioteki curl (curl, curl-devel, curl-libc, curl-static) ?
po komunikatach błędów można wnioskować, że gcc nie może znależć funkcji curla w związku z czym polecam szczególnie przyjrzeć się pakietom curl-libs i curl-devel... -------------------- ![]() ![]() ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
polecam spróbować
Kod gcc -lcurl -o out in.c
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 21.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przy pierwszej instalacji libcurl (instalowałem ze źródła) coś nie działało. Jednak po reinstalacji i reboocie, choć nie wiem w czym dokładnie pomógł reboot, program nagle zaczął się kompilować w zwykły sposób. Chyba powinienem przesiąść się na Slackware, SuSE jest trochę za dziwny.
Ten post edytował slash12345 24.07.2006, 14:52:52 -------------------- Kod thewanderer@debian:~$ sudo apt-get dist-upgrade Konieczne pobranie 666KB pakietów. Czy chcesz kontynuować? [T/n] nieeeeeeee |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 3.05.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie robiłeś restartu po instalacji to najprawdopodobniej biblioteki nie zostały zlinkowane (niektóre systemy robią to automatycznie - np. PLD
![]() ![]() -------------------- ![]() ![]() ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ale szczerze mówiąc to wciąż nie czaje jak Ci to może działać bez -lcurl? U mnie na Gentoo zawsze musze linkować ręcznie.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:42 |