user1518451
user1518451

Reputation: 1845

curl.h no such file or directory

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?

Upvotes: 128

Views: 270032

Answers (9)

user8234870
user8234870

Reputation:

sudo apt-get install libcurl4-nss-dev

Upvotes: 0

ujjal das
ujjal das

Reputation: 927

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/

Upvotes: 0

Susobhan Das
Susobhan Das

Reputation: 1154

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.

Upvotes: 2

tchevrier
tchevrier

Reputation: 1171

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.

Upvotes: 1

mouserat
mouserat

Reputation: 1985

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

Upvotes: 50

bujnos
bujnos

Reputation: 63

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/

Upvotes: 3

n. m. could be an AI
n. m. could be an AI

Reputation: 119877

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)

Upvotes: 216

Moataz Elmasry
Moataz Elmasry

Reputation: 2519

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

Upvotes: 5

roymustang86
roymustang86

Reputation: 8573

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

Upvotes: 5

Related Questions