免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 27817 | 回复: 14
打印 上一主题 下一主题

如何在LINUX下安装libcurl [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-08 12:31 |只看该作者 |倒序浏览
问下如何在LINUX下安装libcurl,大家用的libcurl都是什么版本

[ 本帖最后由 忆秋 于 2008-4-8 17:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-04-08 13:04 |只看该作者
大家帮帮忙,比较急,我在做毕业设计为了实现对网站的访问,没多少时间了 ,各位高手帮帮忙

论坛徽章:
0
3 [报告]
发表于 2008-04-08 14:45 |只看该作者
我下了个libcurl4-7.18.1-1.i386.rpm,用rpm  -ivh  libcurl4-7.18.1-1.i386.rpm编译时出现下列错误是什么原因
[root@localhost ~]# rpm -ivh libcurl4-7.18.1-1.i386.rpm
error: Failed dependencies:
        libcrypto.so.2 is needed by libcurl4-7.18.1-1.i386
        liblber.so.2 is needed by libcurl4-7.18.1-1.i386
        libldap.so.2 is needed by libcurl4-7.18.1-1.i386
        libsasl.so.7 is needed by libcurl4-7.18.1-1.i386
        libssl.so.2 is needed by libcurl4-7.18.1-1.i386
[root@localhost ~]#

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
4 [报告]
发表于 2008-04-08 14:52 |只看该作者
系统是什么?可以用yum更新不

论坛徽章:
0
5 [报告]
发表于 2008-04-08 15:18 |只看该作者
系统是fedora core5.0,可以YUM

论坛徽章:
0
6 [报告]
发表于 2008-04-08 16:27 |只看该作者
原帖由 忆秋 于 2008-4-8 15:18 发表
系统是fedora core5.0,可以YUM


請愛用 yum.

  1. yum install curl curl-devel
复制代码


若你要編譯連結使用 library 才需要裝 curl-devel

還有請不要用在線等這種描述,論壇不是給您即時諮詢的園地。

--

论坛徽章:
0
7 [报告]
发表于 2008-04-08 17:55 |只看该作者
我是真的不怎么懂才来请教,提供的那几个网址都去看过了,可还是不是很明白
英语不是很好,也不清楚怎么装libcrul,自己试着装了几次都不行又不知道是哪里出了问题
希望能耐心点,我会虚心向学的

论坛徽章:
0
8 [报告]
发表于 2008-04-08 18:10 |只看该作者
我先使用curl-config --cflags
curl-config --libs
curl-config --feature
yum install curl curl-devel这几个命令安装libcurl
结果编译 时还是出现问题是什么原因
[root@localhost example]# gcc -o wang wang.c
/tmp/ccfP2skF.o: In function `main':wang.c: (.text+0x12):对‘curl_easy_init’未定 义的引用
:wang.c: (.text+0x36):对‘curl_easy_setopt’未定义的引用
:wang.c: (.text+0x41):对‘curl_easy_perform’未定义的引用
:wang.c: (.text+0x4f):对‘curl_easy_cleanup’未定义的引用
collect2: ld 返回 1
[root@localhost example]#

[ 本帖最后由 忆秋 于 2008-4-8 18:12 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-04-08 18:12 |只看该作者
原帖由 忆秋 于 2008-4-8 17:55 发表
我是真的不怎么懂才来请教,提供的那几个网址都去看过了,可还是不是很明白
英语不是很好,也不清楚怎么装libcrul,自己试着装了几次都不行又不知道是哪里出了问题
希望能耐心点,我会虚心向学的


fedora 上有收錄 curl,所以剛剛提供用 yum 即可安裝。或者是你可以學學基本系統管理的東西,把基礎 package 管理議題熟悉一下也不錯,這樣至少後續你要在系統上進形成是設計開發會比較輕鬆一點。

官方提供範例來看:

http://curl.haxx.se/lxr/source/docs/examples/simple.c

程式碼改一下,成為:

  1. SayyaBBS:kendlee@~/tmp> cat -n simple.c
  2.      1  /*                                  _   _ ____  _
  3.      2   *  Project                     ___| | | |  _ \| |
  4.      3   *                             / __| | | | |_) | |
  5.      4   *                            | (__| |_| |  _ <| |___
  6.      5   *                             \___|\___/|_| \_\_____|
  7.      6   *
  8.      7   * $Id: simple.c,v 1.6 2004/08/23 14:22:52 bagder Exp $
  9.      8   */
  10.      9
  11.     10  #include <stdio.h>
  12.     11  #include <curl/curl.h>
  13.     12
  14.     13  int main(void)
  15.     14  {
  16.     15    CURL *curl;
  17.     16    CURLcode res;
  18.     17
  19.     18    curl = curl_easy_init();
  20.     19    if(curl) {
  21.     20      curl_easy_setopt(curl, CURLOPT_URL, "www.google.com");
  22.     21      res = curl_easy_perform(curl);
  23.     22
  24.     23      /* always cleanup */
  25.     24      curl_easy_cleanup(curl);
  26.     25    }
  27.     26    return 0;
  28.     27  }
  29.     28
复制代码


編譯需要哪些程式庫?使用 curl --libs 看看...

  1. curl-config --libs
  2. -lcurl
复制代码


輸出只有連結使用 curl library 的話,那簡化編譯方式就是:


  1. SayyaBBS:kendlee@~/tmp>
  2. SayyaBBS:kendlee@~/tmp> ls -l
  3. 總計 4
  4. -rw-rw-r-- 1 kendlee kendlee 624 2008-04-08 18:09 simple.c
  5. SayyaBBS:kendlee@~/tmp>
  6. SayyaBBS:kendlee@~/tmp>
  7. SayyaBBS:kendlee@~/tmp> gcc -lcurl simple.c
  8. SayyaBBS:kendlee@~/tmp>
  9. SayyaBBS:kendlee@~/tmp>
  10. SayyaBBS:kendlee@~/tmp> ls -l
  11. 總計 12
  12. -rwxrwxr-x 1 kendlee kendlee 6839 2008-04-08 18:10 a.out*
  13. -rw-rw-r-- 1 kendlee kendlee  624 2008-04-08 18:09 simple.c
  14. SayyaBBS:kendlee@~/tmp>
复制代码


若你要使用 gcc $(curl-config --libs) simple.c 也可以。

執行程式輸出結果:


  1. SayyaBBS:kendlee@~/tmp> ./a.out
  2. <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
  3. <TITLE>302 Moved</TITLE></HEAD><BODY>
  4. <H1>302 Moved</H1>
  5. The document has moved
  6. <A HREF="http://www.google.com.tw/">here</A>.
  7. </BODY></HTML>
复制代码


所以問題拉回來,其實您的問題主要還是對於 unix 基本 programming 的技巧比較不清楚,包含程式庫連結方式不清楚等,這克服學會後就都沒問題了。

--

论坛徽章:
0
10 [报告]
发表于 2008-04-08 22:15 |只看该作者
谢谢kenduest 的回答,我想问下可不可以用libcurl控制不同线程数访问同一个网站
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP