120

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?

taskinoor
  • 45,586
  • 12
  • 116
  • 142
user1518451
  • 1,767
  • 6
  • 23
  • 26

9 Answers9

202

sudo apt-get install curl-devel

sudo apt-get install libcurl-dev

(will install the default alternative)

OR

sudo apt-get install libcurl4-openssl-dev

(the OpenSSL variant)

OR

sudo apt-get install libcurl4-gnutls-dev

(the gnutls variant)

n. m. could be an AI
  • 112,515
  • 14
  • 128
  • 243
47

To those who use centos and have stumbled upon this post :

 $ yum install curl-devel

and when compiling your program example.cpp, link to the curl library:

 $ g++ example.cpp -lcurl -o example

"-o example" creates the executable example instead of the default a.out.

The next line runs example:

 $ ./example
Ted Lyngmo
  • 93,841
  • 5
  • 60
  • 108
mouserat
  • 1,565
  • 13
  • 9
5

Instead of downloading curl, down libcurl.

curl is just the application, libcurl is what you need for your C++ program

http://packages.ubuntu.com/quantal/curl

roymustang86
  • 8,054
  • 22
  • 70
  • 101
4

yes please download curl-devel as instructed above. also don't forget to link to lib curl:

-L/path/of/curl/lib/libcurl.a (g++)

cheers

Moataz Elmasry
  • 2,509
  • 4
  • 27
  • 37
3

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/
bujnos
  • 63
  • 5
1

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.
tchevrier
  • 1,041
  • 7
  • 16
1

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.

Paul Bradbury
  • 482
  • 6
  • 8
0

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/
ujjal das
  • 897
  • 11
  • 15
0
sudo apt-get install libcurl4-nss-dev
Udesh
  • 2,415
  • 2
  • 22
  • 32