c++ 没有这样的文件或目录

xqk2d5yq  于 2023-05-20  发布在  其他
关注(0)|答案(9)|浏览(152)

我安装了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.

谁能帮帮我?

2exbekwf

2exbekwf1#

sudo apt-get install curl-devel

sudo apt-get install libcurl-dev

(will安装默认的替代方案)

sudo apt-get install libcurl4-openssl-dev

(the OpenSSL变体)

sudo apt-get install libcurl4-gnutls-dev

(the gnutls变种)

uqdfh47h

uqdfh47h2#

对于那些使用Centos并偶然发现这篇文章的人:

$ yum install curl-devel

编译程序example.cpp时,链接到curl库:

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

-o example”创建可执行文件example,而不是默认的a.out
下一行运行example

$ ./example
vu8f3i0k

vu8f3i0k3#

而不是下载curl,下载libcurl。
curl只是一个应用程序,libcurl是你的C++程序所需要的
http://packages.ubuntu.com/quantal/curl

ao218c7q

ao218c7q4#

是的,请按照上面的指示下载curl-devel。也不要忘记链接到lib curl:

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

欢呼

jbose2ul

jbose2ul5#

如果在安装curl-dev luarocks后看不到头文件:

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/
pkwftd7m

pkwftd7m6#

对于那些在谷歌搜索“Rcurlcurl.h no such file or directory”(第一个链接)后偶然发现这篇文章的人来说,他们在Windows上,并希望在R中安装curl,解决方案非常简单和快速。

  • Windowsall app菜单中的Rtools文件夹启动Rtools Bash
  • 在命令行中抛出pacman -Syuv以确保您是最新的。
  • pacman -S mingw-w64-x86_64-curl解决了这个问题。您现在可以返回到R并安装curl,没有任何问题。没有更多的curl.h缺失错误。
noj0wjuj

noj0wjuj7#

在Centos 8 Stream中构建git时遇到。
dnf search libcurl
sudo yum install libcurl
sudo yum install libcurl-devel
现在,一切运行正常,并安装了git。

mw3dktmi

mw3dktmi8#

你可以安装libcurl,它可以解决这个问题。你可以找到安装它的命令,只需检查其他答案。
如果你仍然面临同样的问题。然后你可以做的是你可以在你的系统中找到curl. h文件,并将文件复制到所需的位置
你可以找到curl文件

find /usr -name 'curl.h'

从上面你就能知道位置了使用cp命令将curl文件从该位置复制到所需位置

cp -r CURL_DIR/curl/ REQUIRED_DIR/curl/
dvtswwa3

dvtswwa39#

sudo apt-get install libcurl4-nss-dev

相关问题