problem linking libcurl

hi!

Trying to use the libcurl library to access some data on the web.

I think I can do the programming but the problem is that I can't get it to link properly. I used the download wizard on the webpage but I still can't get it to link trying some of the options that I believe to be incorrect.

the current code, but as I said, I think I can get it working and get a hang on the library if I only get it to link:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <curl/curl.h>

static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
  int written = fwrite(ptr, size, nmemb, (FILE *)stream);
  return written;
}

int main(void)
{
  CURL *curl_handle;
  FILE *fp;
//since I have another function to read the info from the xml I think there is a way to simply send the information -> the other function where it's parsed
  char outfilename[FILENAME_MAX] = "C://34.xml";

//not really sure what the "wb" does
  fp = fopen(outfilename, "wb");

  curl_global_init(CURL_GLOBAL_ALL);

  /* init the curl session */
  curl_handle = curl_easy_init();

  /* set URL to get */
  curl_easy_setopt(curl_handle, CURLOPT_URL, "http://api.eve-central.com/api/quicklook?typeid=34&usesystem=30000142");

  /* no progress meter please */
  curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L);

  /* send all data to this function  */
  curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data);

  curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, fp);


  /* get it! */
  curl_easy_perform(curl_handle);

  /* cleanup curl stuff */
  curl_easy_cleanup(curl_handle);

  return 0;
}



when I compile it I get the errors undefined reference to '_imp__curl_global_init'
undefined reference to `_imp__curl_easy_init'
undefined reference to `_imp__curl_easy_setopt'
and so on.

I'm using CodeBlocks and the MinGW compiler.

Do I have to compile this from source? And if so, how do I do it?
Last edited on
$ pkg-config --libs libcurl
-lcurl

$ g++ main.cpp -lcurl -o program.bin
and where do I put these flags or what it is to the compiler?
I don't know what to do with those lines dude. console? somewhere in the compiler settings?
Could someone explain what he meant with those lines?
You Right click on your project > select properties > project's build options > select linker setting tab > and in other linker options write those lines.

You can refer this:
http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(general)#Q:_I_would_like_to_compile_a_project_using_some_non-standard_libraries._How_can_I_indicate_to_CodeBlocks_that_these_libraries_and_include_files_exist.3F

Hope it helped!
Topic archived. No new replies allowed.