由于网上下载的 libcurl 不支持 gzip,只好自己动手编译,期间走了很多弯路,下面是最终成功的记录。
我所使用的环境 Visual Studio 2010 、 Windows 7 64 bit
1 下载文件
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 啦!
参考资料:curl-7.26.0/docs/INSTALL
分享到:
相关推荐
vc++使用libcurl下载文件,支持断点续传,支持多文件下载;代码经测试,可以编译运行;使用url解析文件名;谢谢支持!
使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib libcurl是一个跨平台的开源网络协议库,支持http, https, rtsp等多种协议 。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,...
linux环境下编译移植libcurl库支持https帮助文档,可查看当前编译的功能是否成功
libcurl 支持 ssl zlib ipv6 版本7.52.1 (libcurl-vc-x86-release-dll-ipv6-sspi-winssl.rar)
网上找了好久,这个是亲自测试可用,liburl支持https
MFC专用 请选择 在静态库中使用MFC,多线程/Mt 并加入宏STATIC_LIBCURL 否则可能报错
vs2015 x86 libcurl 支持ssl zlib 注意如果项目需要使用静态的Liburl库时,需要在编译项目时加上宏 CURL_STATICLIB(工程任意地方加上#define CURL_STATICLIB 即可),否则会在链接的过程中报错
这是由 VS 2013 编译的 libcurl 库, 含有 lib 和 dll 和 .h 头文件可直接使用, 版本为: libcurl/7.46.0 OpenSSL/1.0.2e zlib/1.2.8 另外 gzip 库和 OPen SSL 库都可以单独使用. 附加 libcurl 调用实例一个!
libcurl for Android,支持ssl,使用cyassl编译,非常小,附带一个下载文件的示例
Windows+VS2019编译支持https的libcurl的 头文件 release debug的库文件
c++中 libcurl 库,包括lib,dll。支持ssl, 支持发送https协议,nasm编译,源代码curl-7.55.1,x64系统。亲测可用。困扰了几天的问题,之前在CSDN上下载的版本可能不对不能用。
使用libcurl获取经过gzip压缩的网页文件,配合我的文章http://blog.csdn.net/zengraoli/article/details/13623237 使用
libcurl在linux下编译好的静态库libcurl.a,支持ssl功能,可发送http、https请求,已运用于项目中,运行良好。
libcurl 带ssl zlib 支持http和https的访问 压缩包包含头文件和lib文件,可以直接使用,使用vs2010编译。
安卓(Android) libcurl预编译库 apilevel=19
这是我花了1周时间用VC2005,在Openssl上编译了最新的curl7.35.0版本源码,已经支持SSL,可访问HTTPS,测试已经没有问题,欢迎大家提出bug,我的博客:http://blog.csdn.net/hujkay
mac命令行下全自动编译libcurl.a库(support SSL)供ios开发用!zip包含ios-build-libcurl.sh、ios-build-openSSL.sh、Readme.txt三个文件
对libcurl版本的封装,支持openssl libcurl版本:curl-7.62.0 openssl版本:1.0.2
cURL 7.21.0版 此为win32 bin 档,非源码档。网上找到的大部分为源码档,需自行编译。
vs2013源码编译的libcurl7.49.1动态库,包括debug和release版的dll和lib