I noted the process that how to write the sample program with CURL library and compile it successfully. There are some steps which we should do: (This is a simple example run on Windows 7 64bits, Code:: Blocs 12.11 and CURL 7.31.0 )
Step 1. Go to the CURL download page, and download the Win32 Generic libcurl library.
Step 2. Extract it(curl-7.31.0-devel-mingw32.zip) into the folder what you want. In this example, I extract it into D:Develop Toolscurl-7.31.0-devel-mingw32
Step 3. Open your Code:: Blocks, creating one project(I’ve named it CURLExample here) and write some simple codes shown bellow:
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
/* example.com is redirected, so we tell libcurl to follow redirection */
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %sn",
/* always cleanup */
Step 4. Navigate the toolbar. Go to Project→Build options.
Step 5. Here we introduce an easy way to compile it using DLL. After opening the build option dialog, you will see the Compiler Settings, Linker Settings…. Switch to Linker Settings, clicking Add button and type curldll.
This option is just tell the linker to use curldll library. Moreover, the sample code include the curl/curl.h. But the MinGW compiler doesn’t know where the libraries and include header files are. Let’s refer to the next two steps for more details.
Step 6. Switch to Search directories. Click the Compiler label and add path D:Develop Toolscurl-7.31.0-devel-mingw32include. (This action is to ask the compiler should search the header directory additionally.)
Step 7. Switch to Linker label and add the linker path D:Develop Toolscurl-7.31.0-devel-mingw32lib. (This path is to ask the linker should search the library directory, which contains the libcurl.a file.)
Step 8. After that, you can compile the simple code. Enjoy it!
Notice If you want to use the static library combination rather than dynamic linking libraries(DLL). You should can refer to this issue publiched on StackOverflow.