当前位置:   article > 正文

ubuntu 安装libcurl库_ubuntu安装libcurl

ubuntu安装libcurl

网上找了一个关于获取htm网页的源码编译是提示:

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

初步怀疑是少了curl的库,去百度搜了一下,库的名字为libcurl。使用 apt-get install libcurl3 后编译,还是提示找不到头文件。经过搜索,在Ubuntu下是需要安装 libcurl4-openssl-dev 。安装完成后 查看是否有 /usr/include/curl 这个目录,有说明安装成功。

第二次编译的时候,提示

/tmp/ccVvExfd.o: In function `main':
test.c:(.text+0xa1): undefined reference to `curl_easy_init'
test.c:(.text+0xd4): undefined reference to `curl_easy_setopt'
test.c:(.text+0xe0): undefined reference to `curl_easy_perform'
test.c:(.text+0xf0): undefined reference to `curl_easy_cleanup'
collect2: ld returned 1 exit status
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

估计是找不到库的引用,尝试在编译时,加上 -l 选项即可,例如:

gcc get_htm.c -o get_htm -lcrul
  • 1

获取htm网页源码:

#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    CURL *curl;             //定义CURL类型的指针
        CURLcode res;           //定义CURLcode类型的变量,保存返回状态码
    if(argc!=2)
    {
        printf("Usage : file <url>;/n");
        exit(1);
    }

    curl = curl_easy_init();        //初始化一个CURL类型的指针
    if(curl!=NULL)
    {
        //设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
        curl_easy_setopt(curl, CURLOPT_URL, argv[1]);       
        //调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
        res = curl_easy_perform(curl);
        //清除curl操作.
        curl_easy_cleanup(curl);
    }
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/744073
推荐阅读
相关标签
  

闽ICP备14008679号