编译libcurl+zlib+openssl

前言

使用C++发送http请求,非libcurl莫属,加上openssl支持https,加上zlib支持gzip自动解压,完美,记录一下编译过程以及遇到的问题。

准备

1. zlib下载地址 http://www.zlib.net/ ,我下载的是zlib-1.2.11
2. openssl我就不编译了,提供win32Openssl下载地址 http://slproweb.com/products/Win32OpenSSL.html
注意:下载 Win32 OpenSSL v1.0.2L版本
3. libcurl下载地址  https://curl.haxx.se/download.html ,我下载的是curl-7.52.1版本

编译

openssl

直接安装即可,默认c盘,注意选择dll保存路径

zlib

zlib编译比较简单,源码内提供了vs工程,
先进入你的VS的命令提示工具,执行批处理:zlib-1.2.11\contrib\masmx86\bld_ml32.bat
然后在zlib-1.2.11\contrib\vstudio 目录下用选择合适你的VS目录,打开项目编译即可
我编译的是zlibstat项目(静态库),注意两个地方:
1. Release版本把C++  ->代码生成改成MD,默认是MT
2. Release版本把C++  ->预处理器中ASMINF宏删除,原因在这里 http://blog.csdn.net/rankun1/article/details/73196007
直接生成就可以看到静态库了

libcurl

libcurl也提供了VS工程,我选择的是curl-7.52.1\projects\Windows\VC14\lib目录下的工程来编译

1. 解决方案配置选择 Dll Release- Dll OpenSSL   (因为前面我们下载的是动态库OpenSSL)

2. 配置一下OpenSSL的头文件和库文件路径(前面你安装的目录里都有需要的include和lib和dll),不知道的话直接生成,提示缺什么配置什么。

3. 配置zlib,由于是编译的静态,只需要三个文件zlib.h ;zconf.h;zlibstat.lib,引入头文件目录,包含库文件,


你还需要在libcurl工程属性中做如下配置

C++ ->预处理器  增加三个宏定义

HAVE_LIBZ
HAVE_ZLIB_H
ZLIB_WINAPI

如果你的操作没错的话,放心生成吧,good luck!

猜你喜欢

转载自blog.csdn.net/huangyimo/article/details/80355829