文档章节

curl

Rechy
 Rechy
发布于 2014/01/03 02:24
字数 657
阅读 71
收藏 0

http://curl.haxx.se/download.html

有已生成的
Win64 - MinGW64版

源文件编译





在MInGW环境下编译和使用libcurl静态库

libcurl 7.21以后的版本在Windows下的编译比较简单,自带了MinGW和VC环境的Makefile文件,首先去Curl官网下载源代码:http://curl.haxx.se/download.html,任选一个下载即可,推荐这个: curl-7.21.2.tar.gz,下载完成后解压开,打开命令行进入curl源码目录,(在此之前请先设置好MinGW的环境变量):
cd curl-7.21.2
编译libcurl库文件:
cd lib
make -f Makefile.m32
等待编译完成即可
编译curl可执行文件:
cd ../src
make -f Makefile.m32
一会儿就编译完成了

编译完成后,我们需要复制include头文件和库文件到一个目录供程序开发用
1. 新建curllib目录
2. 新建curllib/include目录,将源代码include目录里的curl文件夹复制到curllib/include目录,这些是使用libcurl需要的头文件
3. 新建curllib/lib目录,将源代码lib目录里编译好的库文件libcurl.a,libcurldll.a,libcurl.dll复制到curllib目录
4. 将MinGW安装目录下lib文件夹里的libwldap32.a和libws2_32.a复制到curllib/lib目录

至此,curllib就是我们开发中要使用到的libcurl的全部文件,下面新建一个测试程序,假设文件名为curltest.c,代码如下:

—-

010203040506070809101112131415161718#include <stdio.h>#include <curl/curl.h>intmain(void){CURL *curl;CURLcode res;curl = curl_easy_init();if(curl) {curl_easy_setopt(curl, CURLOPT_URL, "www.google.com");res = curl_easy_perform(curl);/* always cleanup */curl_easy_cleanup(curl);}return0;}



方法一、命令行编译使用licurl的程序
假设测试代码curltest.c位于e:/project
假设curllib文件夹的位置为c:/curllib
命令行运行下列命令编译这个测试程序:
cd e:/project
gcc -I. -Ic:/curllib/include -g -O2 -DCURL_STATICLIB -c curltest.c
gcc -s -o curltest.exe curltest.o -Lc:/curllib/lib -lcurl -lwldap32 -lws2_32
这时可以看到curltest.c目录下生成了一个curltest.exe文件
接着在命令行输入:
curltest.exe
如果看到命令行窗口输出一些HTML代码,就表示编译成功

方法二、Code::Blocks中使用libcurl静态库
1. 新建工程,在工程里添加代码同上的curltest.c文件
2. 将上面curllib/include目录下的curl文件夹复制到MinGW安装目录的include目录
3. 工程名上右键打开Build Options选项,在Compiler Settings选项卡下的#defines里面输入CURL_STATICLIB,(这表示使用静态库)
4. 在Linker Settings选项卡下面的link libraries里添加上面curllib/lib目录里的四个文件:
C:\curllib\lib\libcurl.a
C:\curllib\lib\libcurldll.a
C:\curllib\lib\libwldap32.a
C:\curllib\lib\libws2_32.a
然后回到工程页面,点击Build即可

本文转载自:

共有 人打赏支持
上一篇: ffmpeg
下一篇: cppunit
Rechy
粉丝 2
博文 30
码字总数 5766
作品 0
沈阳
程序员
私信 提问
php curl 在linux上面的安装

libtool: link: gcc -O2 -Wno-system-headers -o .libs/curl curl-toolbinmode.o curl-toolbname.o curl-toolcbdbg.o curl-toolcbhdr.o curl-toolcbprg.o curl-toolcbrea.o curl-toolcbsee.o......

hiyou
2014/06/26
267
0
webservice Curl方式post数据

$url = 'http://'; $ch = curl_init(); curlsetopt($ch, CURLOPTPOST, 1); curlsetopt($ch, CURLOPTURL, $url); curlsetopt($ch, CURLOPTPOSTFIELDS, '');//$data=''; curlsetopt($ch, CURLO......

魏邪乎
2014/09/04
0
0
PHP curl 实现RESTful PUT DELETE 实例

客户端 client.php <?php //PUT $curlhandle = curlinit (); // Set default options. curlsetopt ( $curlhandle, CURLOPTURL, 'http://my.focus.cn/test/socket.php'); curlsetopt ( $curlh......

刘德生
2013/07/18
0
3
linux下为php添加curl扩展的方法及curl_init函数用法案例详解

一般php源码的扩展库里已经带了curl的扩展,所以没有必要下载,直接将编译扩展即可 步骤如下: 1. 进到对应扩展目录 # cd /usr/local/src/php-5.2.12/ext/curl 2. 调用phpize程序生成编译配置...

科技小能手
2017/11/12
0
0
CURL模拟POST提交的方法

`方法一(返回的是json字符串格式): /** Curl版本 使用方法: $post_string = “app=request&version=beta”; requestbycurl(‘http://facebook.cn/restServer.php’,$post_string); */ fu......

景云之应
2016/09/06
13
0

没有更多内容

加载失败,请刷新页面

加载更多

高并发编程:解析HashMap

底层实现原理 在JDK1.8以前版本中,HashMap的实现是数组+链表,它的缺点是即使哈希函数选择的再好,也很难达到元素百分百均匀分布,而且当HashMap中有大量元素都存到同一个桶中时,这个桶会有...

小刀爱编程
26分钟前
0
0
程序员请不要假装很努力,因为结果不会陪你演戏

前言: 我一直相信这样一句话:真正的危机,来源于在正确的时间做不正确的事。没有在正确的时间,为下一步做出积累,这才是危机的根源。 比如,当你迈过了30岁这个坎,你的能力还局限于程序的...

Java干货分享
32分钟前
2
0
Fio随机读IOPS测试值可能偏大的原因分析

问题描述: 在使用fio进行虚拟机磁盘(Ceph的RBD,格式化为ext4文件系统)的IOPS测试时,发现randread比预估值高许多; 在使用相同参数进行randwrite测试之后,再进行randread时会出现此现象...

LastRitter
35分钟前
2
0
JavaScript引用类型Object常见用法实例分析

1、JavaScript数据类型 (1)基本类型 5种基本类型:Undefined、Null、Boolean、Number、String (2)引用类型 5种引用类型:Object、Array、Date、RepExp、Function (3)基本类型与引用类型的异同...

peakedness丶
43分钟前
1
0
教你理清SpringBoot与SpringMVC的关系

spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。spring mvc 是只是spring 处理web层请求的一个模块。因此他们的关系大概就是这...

别打我会飞
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部