curl.h no such file or directory

Viewed 207030

I installed curl this command (i use Ubuntu):

sudo apt-get install curl

When I test simple program using g++ test.cpp

#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://example.com");

    /* 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: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

g++ shows me:

fatal error: curl/curl.h: No such file or directory
compilation terminated.

Can anyone help me?

9 Answers

If after the installation curl-dev luarocks does not see the headers:

find /usr -name 'curl.h'
Example: /usr/include/x86_64-linux-gnu/curl/curl.h

luarocks install lua-cURL CURL_INCDIR=/usr/include/x86_64-linux-gnu/

For those of view who stumbled on this post after a Google of "R curl curl.h no such file or directory" (first link), who are on Windows, and want to install curl in R, the solution is pretty simple and fast.

  • Launch Rtools Bash from the Rtools folder in the Windows all app menu.
  • Throw pacman -Syuv in the command line to make sure you're up-to-date.
  • pacman -S mingw-w64-x86_64-curl fixes the problem. You can now go back to R and install curl without any issues. No more curl.h missing errors.

encountered during building git in Centos 8 Stream.

dnf search libcurl

sudo yum install libcurl

sudo yum install libcurl-devel

Now, everything ran fine, and git installed.

i am running Ubuntu 21.10 and still cant get Curl.h to be recognized even after everything said above. I'm going to just grab it from someones Repo and use it alone. i will keep everyone updated

You can install libcurl, It can solve the problem. you can find the commands to install it, just check the other answers.

If you still facing the same problem. then what you can do is You can find the curl.h file in your system, and copy files to the required location

you can find the curl file by

find /usr -name 'curl.h'

from the above, you'll get the location. copy the curl file from that location to the required location using the cp command

cp -r CURL_DIR/curl/ REQUIRED_DIR/curl/
Related