本文主要是介绍ubuntu 安装libcurl库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上找了一个关于获取htm网页的源码编译是提示:
fatal error: curl/curl.h: No such file or directory compilation terminated.
初步怀疑是少了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
估计是找不到库的引用,尝试在编译时,加上 -l 选项即可,例如:
gcc get_htm.c -o get_htm -lcrul
获取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;
}
这篇关于ubuntu 安装libcurl库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!