Ubuntu - #include <curl curl.h =“”>没有这样的文件或目录</curl>

时间:2014-04-03 10:03:41

标签: c eclipse ubuntu curl

我在Ubuntu上使用Curl开发一个C程序。我正在使用Eclipse Kepler。 我已经使用

安装了curl库
  

apt-get install libcurl4-gnutls-dev

我检查了一切是否正确

  

ls -l / usr / include / curl

我得到了

  总共172

     

-rw-r - r-- 1 root root 7065 janv。 31 16:49 curlbuild.h

     

-rw-r - r-- 1 root root 81593 janv。 31 16:49 curl.h

     

-rw-r - r-- 1 root root 8901 janv。 31 16:49 curlrules.h

     

-rw-r - r-- 1 root root 2741 janv。 31 16:49 curlver.h

     

-rw-r - r-- 1 root root 3472 janv。 31 16:49 easy.h

     

-rw-r - r-- 1 root root 2790 janv。 31 16:49 mprintf.h

     

-rw-r - r-- 1 root root 12981 janv。 31 16:49 multi.h

     

-rw-r - r-- 1 root root 1330 janv。 31 16:49 stdcheaders.h

     

-rw-r - r-- 1 root root 36048 janv。 31 16:49 typecheck-gcc.h

虽然我的curl.h文件存在,但是在我尝试构建程序时Eclipse写了这条消息:

  

致命错误:curl / curl.h:没有这样的文件或目录   编译终止。

我忘记了什么?一切都很好看! :&#39;( 谢谢!

4 个答案:

答案 0 :(得分:3)

C编译器&#39; (预处理器&#39;实际上)标准包含文件搜索路径应包含/usr/include,因此如果包含文件curl.h位于/usr/include/curl/并且包含在#include <curl/curl.h>中,则编译器,例如gcc,应该能够毫无问题地找到它。

但是,您在/opt/toolchains/arm-2011.V2/bin下使用工具链,我猜这是一个交叉编译工具链。在这种情况下,您不能使用curl库,因为它适用于主机系统,可能是x86或x86_64系统。

要在ARM项目中使用curl库,您需要安装ARM的curl库开发包(如果可能)。如果软件存储库没有这些软件包,那么您需要先下载源代码并为ARM交叉编译。

答案 1 :(得分:1)

这对我来说是固定的:

sudo ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl

答案 2 :(得分:0)

确保已将curl.h安装到默认位置(LD_LIBRARY_PATH)。如果不这样做,则可以从GitHub克隆并安装。

克隆后,只需使用以下命令:

./buildconf
./configure
make
cd include # ONLY install the include folder (with curl.h, etc)
make install

您应该完成。如果您需要进一步的帮助,请检查基本目录中的GIT-INFO文件。

答案 3 :(得分:-1)

尝试使用此功能。找到你的curl.h文件 - 它应该是你安装curl的地方'... \ include \ curl \ curl.h' 因此,不要在代码中写入'#include',而是写下所有路径,例如'#include'。 它可以帮助你! 祝你好运)