VC++ 编译libcurl 支持SSL,GZIP
2012-12-20 11:19
411 查看
由于网上下载的 libcurl 不支持 gzip,只好自己动手编译,期间走了很多弯路,下面是最终成功的记录。
我所使用的环境 Visual Studio 2010 、 Windows 7 64 bit1 下载文件
1.1 libcurl
下载页面 http://curl.haxx.se/download.html
下载地址 http://curl.haxx.se/download/curl-7.26.0.zip
1.2 zlib
下载页面 http://sourceforge.net/projects/libpng/files/zlib/
下载地址 http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib125.zip/download
(特别提醒,不要使用1.2.7版编译,使用后发现编译的方法和文件名都不同了)
1.3 openssl
下载页面 http://www.openssl.org/source/
下载地址 http://www.openssl.org/source/openssl-1.0.0c.tar.gz
(特别提醒,不建议用1.0.1c,虽可编译成功,但无法绕过SSL证书,不知其原因,浪费了我不少时间)
编译openssl还需下载ActivePerl
官方下载 http://www.activestate.com/activeperl/downloads
下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x86-295879.msi
X64下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x64-295879.msi
2 解压及安装文件
2.1 ActivePerl安装,双击直接下一步,默认设置到底。
2.2 zlib openssl libcurl分别解压,他们三个在同一级目录。
例如:D:\User\Dewei\TestCurl\curl-7.26.0、D:\User\Dewei\TestCurl\openssl-1.0.0c、D:\User\Dewei\TestCurl\zlib-1.2.5
3 编译过程
3.1 zlib编译
用vs2010打开zlib-1.2.5/old/visualc6/zlib.dsw,选择DLL_Release编译,把编译生成的zlib-1.2.5/old/visualc6/Win32_DLL_Release/
zlib1.lib 复制到curl-7.26.0/lib目录下,重命名为
zdll.lib (注意必须为此文件名) 。
3.2 openssl编译
打开cmd,cd到openssl-1.0.0c目录下;
运行命令 perl Configure VC-WIN32
再运行 ms\do_ms.bat
再运行 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\vcvars32.bat"
运行命令 nmake -f ms/ntdll.mak
参考资料:openssl-1.0.0c/INSTALL.W32
3.3 编译curl-7.26.0
在curl-7.26.0/lib目录下新建release.bat,输入以下内容
call "C:/Program Files/Microsoft Visual Studio 10.0/VC/bin/vcvars32.bat"
set CFG=release-dll-ssl-dll-zlib-dll
set OPENSSL_PATH=../../openssl-1.0.0c
set ZLIB_PATH=../../zlib-1.2.5
nmake -f Makefile.vc10
保存,然后运行。
等待一会儿,就可以到 curl-7.26.0\lib\release-dll-ssl-dll-zlib-dll 目录下拷文件 libcurl_imp.lib和libcurl.dll 啦!
相关文章推荐
- VC++ 编译libcurl 支持SSL,GZIP
- VC++ 编译libcurl 支持SSL,GZIP(有脚本)
- VC++ 编译libcurl 支持SSL,GZIP
- VC++ 编译libcurl 支持SSL,GZIP
- libcurl 编译指南(支持SSL)
- 在windows上编译libcurl(支持SSL)
- CentOS 下编译安装 Apache 并配置 SSL 模块以支持 HTTPS
- libcurl 支持 openssl 交叉编译 mips rt5350
- MinGW编译支持openssl-1.0.0a的libcurl-7.21.3
- nginx增加ssl支持 - 编译时参数详情列表
- 支持sftp协议的libcurl编译
- VC++8.0下编译支持HDF4和HDF5的GDAL
- 在freebsd下源码编译构建subversion客户端(带SSL支持)
- 随笔:交叉编译libcurl库支持HTTPS
- VC++ 工程添加 Unicode Debug 和 Unicode Release编译支持
- Libcurl库支持SSL协议的编译方法
- 支持sftp协议的libcurl编译
- Ubuntu+NDK编译支持HTTPS的libcurl
- libcurl如何支持ssl
- 使用mingw编译支持openssl 的 libcurl(windows下)