Quaxton Hale Quaxton Hale - 1 year ago 230
C++ Question

Getting LibCurl to work with Visual Studio 2013

I am having trouble getting LibCurl to work with Visual Studio 2013. I downloaded the current version (curl-7.33.0) and tried following the instructions I found on this site: Using LibCurl with Visual 2010

But I can't find curllib.lib in the folder I downloaded. And I am still getting errors:
enter image description here

After searching the internet for more help. I now get these error messages. There appears to be a problem with linking to libcurl.lib?

enter image description here

This is what I have configured:
enter image description here

enter image description here

Inside /lib I have libcurl.lib and libcurl.dll


I downloaded this release for Win32 MSVC: http://curl.haxx.se/download.html#Win32
After adding the libcurl libraries and successfully compiling, I am now getting this error message:

The application was unable to start correctly (0xc000007b). Click OK to close the application.

Here is the sample code I am trying to run:

#include <iostream>
#include <stdio.h>
#include <curl/curl.h>

int main(void)
CURL *curl;
CURLcode res;

curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
res = curl_easy_perform(curl);

/* always cleanup */
return 0;


I believe I have gotten LibCurl to work with Visual Studio 2013 now. Persistence ftw!
Although, after spending hours trying to solve these error messages, I am a little hesitant at saying everything is working fine now. That is why I am putting a bounty on this question to get clear and concise instructions on getting LibCurl to work with Visual Studio 2013.

This is what I did to get it to work:

  1. First, download the Win32 MSVC package here: http://curl.haxx.se/download.html#Win32
    For these instructions sake, let's say you downloaded to C:\LibCurl

  2. Start a new project in Visual Studio. Go to Project|Project Properties|VC++ Directories|Include Directories|
    Add the path to the include directory inside the downloaded package. (C:\LibCurl\include)

  3. Next, go to Project|Project Properties|Linker|General|Additional Library Directories|
    Add the path to the lib directory. (Where curllib.dll is located)

  4. Then, go to Project|Project Properties|Linker|Input|Additional Dependencies|
    And add curllib.lib

  5. Now if you compile a test program, you will likely get the message saying libsasl.dll is missing. You will need to download this file and put it in the same directory as your build.
    I used 7-Zip to extract libsasl.dll from OpenLDAP for Windows. OpenLDAP for Windows

This is the result of my test code from above:
enter image description here

Answer Source

I would say that in a comment, but I am lacking in points. You don't have to copy any .dll into your program run catalog. Go to Project | Properties | Configuration Properties and in line Envrionment write: PATH=$(ExecutablePath)$(LocalDebuggerEnvironment).

From now on, all .dlls from any catalog you mention in Project|Project Properties|VC++ Directories|Binary should be usable without copying them.

The rest is exactly as you written.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download