[C] undefined symbol: curl_easy_init*

Pagina: 1
Acties:

  • MDVej
  • Registratie: September 2001
  • Laatst online: 04-10 11:40
Ik ben bezig met het bijwerken van een c programma. Op dit moment wordt er een tekst bestand lokaal ingeladen, maar dat moet veranderd worden, zodat dit via een webserver wordt ingelezen.

Hiervoor heb ik het volgende voorbeeld gebruikt: fopen.c. Deze code heb ik in dezelfde directory gezet als de rest van de code (behalve de main functie). Verder heb ik bij het openen en inlezen van het bestand het volgende veranderd:

FILE *banfile; -> URL_FILE *banfile;
banfile = fopen(bfname, "rt"); -> banfile = url_fopen(bfname, "rt");
while(fgets(buffer, 256, banfile)) -> while(url_fgets(buffer, 256, banfile))
fclose(banfile); -> url_fclose(banfile);

Tevens heb ik een .h file aangemaakt voor fopen.c en de makefile bijgewerkt. Aan de makefile geef ik "-L/usr/lib -lcurl" mee.

Het compilen gaat zonder problemen, maar zodra ik het programma start krijg ik meteen een error bij het laden van het bestand: symbol lookup error: /home/mdv/program/program.so: undefined symbol: curl_easy_init

Dit heeft dus volgens mij iets te maken met de curl libraries, maar deze heb ik allemaal gedownload+geinstalleerd.

Iemand die mij verder kan helpen? Bij voorbaat dank!

  • Remenic
  • Registratie: Juni 2001
  • Laatst online: 08-11 21:39
Schandalig dat niemand probeert te helpen! :P

Zou je je Makefile even kunnen pasten? Waarschijnlijk zit daar de fout in...

Hint: Zorg ervoor dat je tegen curl linkt via `pkg-config --libs libcurl`.

  • MDVej
  • Registratie: September 2001
  • Laatst online: 04-10 11:40
Hey bedankt voor je hulp. Het was inmiddels al gelukt!

Nu wil ik dit project echter ook compilen en linken onder windows (visual studio), alleen krijg de melding dat de select() functie niet gevonden kan worden (die gebruik ik uit het voorbeeld van fopen.c). Deze functie komt niet voor in curl.h, maar ik zie wel dat er een include wordt gedaan, sys/select.h, maar volgens mij bestaat die niet in windows? Wat kan ik doen om toch deze select functie te gebruiken? Bij voorbaat dank!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Voor windows moet je op MSDN kijken, en dan specifiek naar Winsock

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein