关键词:Windows,curl,ssl, visual c++ 2005
-
准备工作
a. 下载zlib
zlib可以使得HTTP请求支持gzip压缩,其地址如下:
官网:http://zlib.net/
下载地址:http://zlib.net/zlib-1.2.8.tar.gz
b. 下载openssl
opensll使用与支持SSL,例如HTTPS的请求。
官网:http://www.openssl.org
下载地址:http://www.openssl.org/source/openssl-1.0.1f.tar.gz
c. 下载curl
官网:http://curl.haxx.se
下载地址:在http://curl.haxx.se/download.html选择你所想要的版本,
d. 下载ActivePerl
官网:http://www.activestate.com/activeperl/downloads
请注意根据自己的系统版本【32,64】选择不同的安装包 -
编译方法:
a. 安装activePerl
直接双击安装,用默认设置就可以了。
b. 解压所有的源码文件,全部放在一个目录下,比如我是c:\curl目录下,目录结构如下:curl |-----curl |-----openssl |-----zlib
c. 编译zlib
从开始菜单,选择Microsoft Visual Studio 2005 > Visual Studio Tools > Visual Studio 2005 Command Prompt,如下图:之后会弹出一个CMD窗口,切换到zlib的目录下C:\curl\zlibxxx,然后输入:
nmake -f win32/Makefile.msc OBJA=“inffast.obj” 过了一会儿就编译成功。
d. 编译openssl
将当前目录切换到C:\curl\openssl-1.0.1f,如何输入下面执行下面的命令:
ms\32all.bat然后就开始了漫长的编译,我这等了15分钟才编译好= =$e. 编译curllib
将当前目录切换到curl的的目录下C:\curl\curl-7.35.0\lib,然后依次输入一下的命令:
set OPENSSL_PATH=…\openssl-1.0.1f
set ZLIB_PATH=…\zlib-1.2.8
nmake -f Makefile.vc8 CFG=release-dll-zlib-dll
注意 Makefile.vc6是VC6.0的版本,VC8是VC2005,VC9是VS2008,依次类推吧。
编译选项如下:Usage: nmake /f makefile.vc6 CFG=<config> <target> where <config> is one of: release - release static library release-ssl - release static library with ssl release-zlib - release static library with zlib release-ssl-zlib - release static library with ssl and zlib release-ssl-ssh2-zlib - release static library with ssl, ssh2 and zlib release-ssl-dll - release static library with dynamic ssl release-zlib-dll - release static library with dynamic zlib release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib release-dll - release dynamic library release-dll-ssl-dll - release dynamic library with dynamic ssl release-dll-zlib-dll - release dynamic library with dynamic zlib release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib debug - debug static library debug-ssl - debug static library with ssl debug-zlib - debug static library with zlib debug-ssl-zlib - debug static library with ssl and zlib debug-ssl-ssh2-zlib - debug static library with ssl, ssh2 and zlib debug-ssl-dll - debug static library with dynamic ssl debug-zlib-dll - debug static library with dynamic zlib debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib debug-dll - debug dynamic library debug-dll-ssl-dll - debug dynamic library with dynamic ssl debug-dll-zlib-dll - debug dynamic library with dynamic zlib1 debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib <target> can be left blank in which case all is assumed Makefile.vc8(501) : fatal error U1050: please choose a valid configuration "rele ase-dll-ssl-dll-zlib-dll " Stop.
大家可以根据自己的需要编译不同的DLL和lib,我就选择编译了两个静态库:
nmake -f Makefile.vc8 CFG=release-ssl-zlib
nmake -f Makefile.vc8 CFG=debug-ssl-zlib
然后就是开始华丽丽的刷屏等待啦~~~
过了几分钟之后,就编译好了,将C:\curl\curl-7.35.0\lib\会有debug-ssl-zlib和release-ssl-zlib目录,拷贝到VS的工程目下,然后配置一下就可以使用了。
-
CURL在windows下的编译使用
CURL的使用要注意几点:
3.1 使用CURL的工程依赖加libcurl.lib ws2_32.lib wldap32.lib
3.2 工程加宏CURL_STATICLIB
3.3 debug版忽略LIBCMTD.lib,release版忽略LIBCMT.lib
参考资料:
http://blog.sina.com.cn/s/blog_62949ff40102x2wm.html
https://blog.csdn.net/hujkay/article/details/18986153
https://blog.csdn.net/diaoxuesong/article/details/78664663
https://blog.csdn.net/oilcode/article/details/45155101