vs2013编译libcurl 7.49.1

libcurl主要功能就是用不同的协议连接和沟通不同的服务器~也就是相当封装了的sockPHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。, libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传(当然你也可以使用PHP的ftp扩展), HTTP基本表单上传,代理,cookies,和用户认证


1.vs2013编译libcurl7.49.1步骤(详细步骤见参考文献1)

a.下载ActivePerl(默认安装即可)

下载地址:http://rj.baidu.com/soft/detail/14792.html?ald

b.下载并编译openssl1.0.1i

下载地址:https://www.openssl.org/source/

(1)   解压源码包,按照源码目录下的INSTALL.WIN32文件进行编译

(2)    VS2013命令行进入openssl源码根目录

              vs2013编译libcurl 7.49.1_第1张图片

(3)    perl Configure VC-WIN32 no-asm --prefix=D:/Program_Files/openssl/

(4)    ms\do_ms.bat

(5)    nmake -f ms\ntdll.mak

(6)    nmake -f ms\ntdll.mak test(测试通过会提示passall tests)

(7)    nmake -f ms\ntdll.mak install

(8)    生成文件在D:\Program_Files\openssl目录下

c.下载并编译zlib1.2.8

下载地址:http://www.zlib.net/

(1)    解压源码包

(2)    vs2013命令行进入contrib\masmx86目录,运行bld_ml32.bat

(3)    vs2013命令行切换到源码根目录

(4)    nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"

(5)    生成文件在源码根目录

d. 建立deps目录
deps目录与libcurl同级,其中存放openssl以及zlib的头文件和lib文件(openssl相关文件存放于 D:\Program_Files\openssl下,zlib相关文件在zlib根目录下

vs2013编译libcurl 7.49.1_第2张图片

deps目录

                                             vs2013编译libcurl 7.49.1_第3张图片                            vs2013编译libcurl 7.49.1_第4张图片

deps下载地址:http://download.csdn.net/detail/hei_ya/9546254

e.编译libcurl7.49.1

下载地址:https://curl.haxx.se/download.html

(1)    进入源码目录下的winbuild目录

(2)    nmake /f Makefile.vc mode=dll WITH_SSL=dll WITH_ZLIB=dll

(3)    生成的文件在builds\libcurl-vc-x86-release-dll-zlib-dll-ipv6-sspi-winssl目录下


2.LibCurl编程介绍

利用libcurl完成传输任务的流程:

1.调用curl_global_init()初始化libcurl
2.调用 curl_easy_init()函数得到 easy interface型指针
3.调用curl_easy_setopt设置传输选项
4.根据curl_easy_setopt设置的传输选项,实现回调函数以完成用户特定任务
5.调用curl_easy_perform()函数完成传输任务
6.调用curl_easy_cleanup()释放内存


参考文献:

【1】http://www.tuicool.com/articles/VNRzEbq

【2】http://www.cnblogs.com/lidabo/p/4583061.html

【3】http://baike.baidu.com/link?url=k3IRGwBM9y5hssZVAjCdTeR_5e1YJ9IrGkj4x0FWgp0X6Ja5O9IdmELi-       j7HIqywWm6-vIb-7bbkaWyXSjCObq

你可能感兴趣的:(C/C++)