curl.h没有这样的文件或目录

use*_*451 62 c++ curl

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

sudo apt-get install curl
Run Code Online (Sandbox Code Playgroud)

当我使用测试简单程序时 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;
}
Run Code Online (Sandbox Code Playgroud)

g++ 告诉我:

fatal error: curl/curl.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

n. *_* m. 127

sudo apt-get install curl-devel

sudo apt-get install libcurl-dev
Run Code Online (Sandbox Code Playgroud)

(将安装默认备选方案)

要么

sudo apt-get install libcurl4-openssl-dev
Run Code Online (Sandbox Code Playgroud)

(OpenSSL变体)

要么

sudo apt-get install libcurl4-gnutls-dev
Run Code Online (Sandbox Code Playgroud)

(gnutls变种)

  • ubuntu有一个`curl-devel`包吗?虚拟的`libcurl-dev`由其他几个提供,例如`libcurl4-openssl-dev`,它对我有用. (3认同)
  • 谢谢我使用`sudo apt-get install libcurl4-openssl-dev`和`g++ test.cpp -L/usr/include/curl/lib -lcurl` (2认同)
  • `yum install libcurl-devel`应该与另一个软件包管理器相同 (2认同)

mou*_*rat 27

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

 $ yum install curl-devel
Run Code Online (Sandbox Code Playgroud)

在执行你的程序"example.cpp"时,链接到curl外部lib:

 $ g++ example.cpp -lcurl -o example
Run Code Online (Sandbox Code Playgroud)


roy*_*g86 5

不要下载curl,而是下载libcurl。

curl 只是应用程序,libcurl 是您的 C++ 程序所需的

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


Moa*_*sry 5

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

-L/path/of/curl/lib/libcurl.a (g++)
Run Code Online (Sandbox Code Playgroud)

干杯