2010-10-01 21 views
7

Naprawdę głupie pytanie C.lib curl symbol nie został znaleziony

Próbuję zbudować kod źródłowy tutaj, aby można było rozpocząć na modyfikowanie go dla siebie

http://curl.haxx.se/libcurl/c/ftpget.html

pobrać plik, a następnie uruchom

gcc -o test ftpget.c 

i dostać

Undefined symbols: 
    "_curl_global_init", referenced from: 
     _main in ccFchguB.o 
    "_curl_easy_perform", referenced from: 
     _main in ccFchguB.o 
    "_curl_easy_setopt", referenced from: 
     _main in ccFchguB.o 
     _main in ccFchguB.o 
     _main in ccFchguB.o 
     _main in ccFchguB.o 
    "_curl_easy_cleanup", referenced from: 
     _main in ccFchguB.o 
    "_curl_easy_init", referenced from: 
     _main in ccFchguB.o 
    "_curl_global_cleanup", referenced from: 
     _main in ccFchguB.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

co nie ma dla mnie sensu, ponieważ

/usr/local/include/curl/curl.h 

istnieje i ma te funkcje. Jestem pewien, że jest to podstawowa kompilacja, której mi brakuje.

Wielkie dzięki za wszelkie wskazówki.

Odpowiedz

18

trzeba połączyć z biblioteki curl:

 
gcc -o test ftpget.c -lcurl 
+1

można wytłumaczyć zadowolić dlatego linkami do lcurl potrzebna jest w tym przypadku? – Ritesh

+1

jak to zrobić? –

+0

@Ritesh 'curl.h' jest zawarty w czasie" wstępnego przetwarzania ", który kompilator pobiera tylko deklarację w pliku nagłówkowym, ale bez definicji. Jeśli nie połączysz bibliotek (głównie obiekt binarny zawierający definicje w tej bibliotece), otrzymasz błąd 'undefined symbols' od kompilatora. –

Powiązane problemy