1

I'm trying to add the libcURL library to a Visual Studio 2013 project. I've followed the steps in this question: Getting LibCurl to work with Visual Studio 2013

Everything seems to be working until I actually try running the project. When I do, I get a message saying "The program can't start because libcurld.dll is missing from you computer". I've looked in curl's lib folder and don't see libcurld.dll, only libcurl.dll. My first though was that I typed the name wrong, but I'm not sure how this is possible since to add the library I've just been selecting directories and not typing file names. Can anyone suggest what might be causing this? Where can I find a list of all the .dlls Visual Studio requires to run my project?

Community
  • 1
  • 1
Adam
  • 8,752
  • 12
  • 54
  • 96
  • I was able to get it working by switching to Release mode and repeating the steps I used to add the library in Debug mode, not sure what I'm missing in Debug but I couldn't get it working using that configuration. – Adam May 10 '16 at 00:46

2 Answers2

0

Renaming libcurl.dll to libcurld.dll and following the instructions in Getting LibCurl to work with Visual Studio 2013 solved this problem. Alternatively, using Release mode rather than Debug mode also works (if you don't want to rename the .dll).

Community
  • 1
  • 1
Adam
  • 8,752
  • 12
  • 54
  • 96
  • It will result most likely in a crash, as the debug build and the release build use different optimization levels, that result in different memory layout. Disclaimer: I tried to rename the library, and resulted in a crash. See my answer for the solution. – zerocukor287 Aug 03 '23 at 07:41
0

An extra 'd' in the file name suggest that it is a debug version of the library. To obtain the proper version of the library, go to the official downloads page and choose a suitable download option.

I went with vcpkg, as we use it other places in our project. The command was roughly (make sure vcpkg is in the PATH)

vcpkg install curl:x64-windows

It will download the release and the debug version of the library. The libcurl-d.dll is located at

<vcpkg folder>\packages\curl_x64-windows\debug\bin\libcurl-d.dll

While the release version is at

<vcpkg folder>\packages\curl_x64-windows\bin\libcurl.dll

Make sure you set different path to Release and Debug builds

One benefit of vcpkg is that it could be integrated with build pipelines. See how to integrate with MSBuild.

zerocukor287
  • 555
  • 2
  • 8
  • 23