H 没有这样的文件或目录

我安装了 curl 这个命令(我使用 Ubuntu) :

sudo apt-get install curl

当我使用 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++向我展示了:

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

有人能帮我吗?

212646 次浏览

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

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)

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

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

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/