`
dewei
  • 浏览: 164451 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

VC++ 编译libcurl 支持SSL,GZIP

 
阅读更多

由于网上下载的 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

 

 

 

 

分享到:
评论

相关推荐

    libcurl 库, 支持 gzip 和 Open SSL (VS2013 编译版本)

    这是由 VS 2013 编译的 libcurl 库, 含有 lib 和 dll 和 .h 头文件可直接使用, 版本为: libcurl/7.46.0 OpenSSL/1.0.2e zlib/1.2.8 另外 gzip 库和 OPen SSL 库都可以单独使用. 附加 libcurl 调用实例一个!

    libcurl 带ssl zlib 支持http和https的访问

    在libcurl中,SSL提供了对HTTPS协议的支持,确保了数据在传输过程中的加密和安全性。SSL通过证书验证服务器的身份,防止中间人攻击。libeay32.dll和ssleay32.dll是OpenSSL库的一部分,用于实现SSL/TLS协议。 2. **...

    CURL 7.21.0 Without SSL

    3. **安全性**:CURL支持SSL/TLS加密,虽然这个版本(7.21.0)没有包含SSL,但后续的版本都包含了这一安全特性,确保了传输数据的安全性。 4. **文件传输**:CURL可以下载或上传文件,甚至能实现断点续传,对于大...

    libcurl库,直接下载使用

    在Ubuntu上编译libcurl时,我们需要确保系统已经安装了必要的依赖项。为了支持HTTPS,libcurl需要链接到OpenSSL库,而为了处理压缩数据,如gzip或deflate,我们需要zlib库。以下是编译libcurl的基本步骤: 1. **...

    libCurl7.46在windows下编译

    《在Windows环境下编译libCurl 7.46与集成zlib、ssl:VS2015实战指南》 libCurl是一个广泛使用的开源库,用于处理各种网络协议,如HTTP、FTP、SMTP等。在Windows平台下,为了实现libCurl的功能,通常需要集成zlib...

    x64 libcurl编译好的版本VS可用,64位windows

    预编译的libcurl版本包含了最新的SSL支持,意味着你可以安全地处理HTTPS请求。 在提供的压缩包中,有以下几个关键目录: - **bin**:这个目录通常包含编译好的可执行文件和动态链接库(DLLs),供应用程序在运行时...

    libcurl编译好的库和头文件

    这些库文件经过配置,已经启用了HTTPS支持以及数据压缩的gzip功能,使得在开发过程中可以方便地集成libcurl,进行网络通信和数据传输。 首先,我们来详细了解一下libcurl库。libcurl是一个C语言写的客户端URL传输库...

    libcurl编译源码

    本文将详细介绍如何编译libcurl源码,以便在自己的项目中使用。 首先,确保你已经安装了必要的编译工具和依赖项。在大多数Linux系统中,你需要安装`build-essential`包,包含GCC编译器和Make工具。对于libcurl,你...

    libcurl最新版

    对于VC++开发人员来说,安装和使用libcurl-7.21.3-devel-mingw32,首先需要将其解压到合适的工作目录,然后配置项目的编译设置,包括包含路径(包含libcurl的头文件)和库路径(包含libcurl的库文件)。接着,将...

    libcurl相关资源

    - **SSL/TLS支持**:libcurl内建了对HTTPS和FTPS的支持,它能够使用多种SSL/TLS实现,如OpenSSL,以确保安全的数据传输。 - **HTTP/2和HTTP/3支持**:libcurl支持最新的HTTP版本,包括HTTP/2和HTTP/3,这使得它能...

    libcurl+openssl+zlib.zip

    描述中提到"libcurl (x86 /x64)编译环境支持https,http,ftp",意味着这个包不仅包含了libcurl的源代码,还可能包括预编译的库文件,分别适用于32位(x86)和64位(x64)操作系统。同时,它指出libcurl配置为支持HTTPS、...

    lib curl-7.54.0.result.xp.7z

    在本文中,我们将深入探讨标题中的"lib curl-7.54.0.result.xp.7z",这是一款专为Windows XP平台编译的libcurl版本,它支持zip、openssl,并且集成了zlib库,以满足对安全性和压缩的需求。 首先,libcurl 7.54.0是...

    LibCurl.zip

    openssl是一个广泛使用的开源加密库,为LibCurl提供了SSL和TLS(Transport Layer Security)的支持,这意味着你可以通过安全的HTTPS连接进行数据传输。OpenSSL提供了加密算法、密钥管理和证书处理等功能,是网络通信...

    编译安装nginx-1.24.0.docx

    - `--with-http_ssl_module`, `--with-http_gzip_static_module`: 分别启用HTTPS支持和静态文件的GZIP压缩。 - `--with-http_realip_module`: 用于处理代理请求的真实IP。 完成配置后,就可以开始编译了。 ```bash...

    pycurl-ssl-7.19.0.win32-py2.7

    6. **内容编码处理**:pycurl可以自动处理gzip和deflate等压缩格式,减少网络传输的数据量。 7. **回调函数机制**:开发者可以自定义回调函数来处理接收到的数据,例如将其写入文件或直接显示在屏幕上。 8. **性能...

    Openssl开源库

    它不仅支持gzip和deflate等压缩算法,还可以与其他库(如OpenSSL)结合,实现压缩数据的加密传输。 在Windows系统下编译这些库为Unicode和Release版本,意味着它们已经优化过,适合在生产环境中使用。Unicode版本...

    curl 全平台静态库,包括 android,ios ,win,mac,linux

    - 支持SSL加密和TLS安全传输。 - 可以通过命令行参数或者libcurl库进行灵活配置。 2. **静态库介绍**: - 静态库是在编译时与应用程序合并的库文件,它们包含所有依赖的代码和数据。在您的压缩包中,每个平台都...

    nginx依赖包linux操作系统使用

    4. **zlib**:Nginx支持GZIP压缩,因此需要zlib库来处理压缩和解压缩HTTP响应。 5. **PCRE (Perl Compatible Regular Expressions)**:Nginx使用PCRE库进行URL匹配和正则表达式处理。它是Nginx配置中重定向、分发和...

    curl-master.zip

    在C++开发中,编译curl需要一些依赖项,如libz(用于gzip压缩)、libssl(用于HTTPS支持)和libcrypto(用于加密)。在安装这些依赖后,进入curl-master目录,执行标准的configure、make和make install步骤: 1. `....

    安装Nginx依赖组件

    - `--with-stream_ssl_module`: 启用流SSL模块支持,用于加密非HTTP流量。 #### 依赖库安装 为了使上述配置生效,还需要安装一系列的依赖库。这部分通过`yum install`命令来实现: ``` yum install gcc make gd-...

Global site tag (gtag.js) - Google Analytics