2010-10-01 27 views
7

Pregunta C realmente estúpida.símbolo cur curl no encontrado

Estoy tratando de construir el código fuente aquí para que pueda empezar en la modificación por mí mismo

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

puedo descargar el archivo, a continuación, ejecutar

gcc -o test ftpget.c 

y obtener

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 

que no tiene sentido para mí, porque

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

existe y tiene estas funciones. Estoy seguro de que esto es algo básico de compilación de c que me estoy perdiendo.

Muchas gracias por cualquier apuntador.

Respuesta

18

Es necesario para enlazar con la librería curl:

 
gcc -o test ftpget.c -lcurl 
+1

¿Puede usted explicar por favor que la razón por la vinculación a lcurl se necesita en este caso? – Ritesh

+1

¿cómo hago eso? –

+0

@Ritesh 'curl.h' se incluye durante el tiempo de 'preproceso', que su compilador solo toma la declaración en el archivo de encabezado, pero no hay definiciones. Si no vincula las bibliotecas (principalmente el objeto binario que contiene las definiciones en esa biblioteca), recibirá el error 'undefined symbols' de su compilador. –

Cuestiones relacionadas