返回> 网站首页 

curl增加https支持 - openssl zlib编译

yoours2017-06-21 15:25:02 阅读 1983

简介一边听听音乐,一边写写文章。

一、zlib
 下载地址 http://www.zlib.net/
  使用CMake打开创建编译VS2008环境,编译即可
  把编译文件夹下的zconf.h拷贝到zlib目录下

二、openssl-1.0.2l
  创建bat文件,内容如下:
echo off & color 0A
:: 项目名称
set PROJECT=openssl
:: 版本标签
set VESION=OpenSSL_1_0_1l
:: 项目路径
set PROJECT_PATH=%cd%
:: 代码存放路径
set CODE_PATH="%PROJECT_PATH%\%PROJECT%-%VESION%"
::安装路径
set OPENSSL_INSTALL_DIR="%cd%\output"

cd /d "%CODE_PATH%"

::通过perl脚本根据配置生成makefile
perl Configure VC-WIN32 --prefix=%OPENSSL_INSTALL_DIR% no-asm

:: 设置VS工具集目录,取决于电脑中VS安装路径
set VS_DEV_CMD="D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
call %VS_DEV_CMD%
:: 编译
call ms\do_ms.bat
nmake -f ms\ntdll.mak
:: 测试(可选)
nmake -f ms\ntdll.mak test
:: 安装
nmake -f ms\ntdll.mak install

pause

在 Visual Studio 2008 Command Prompt 命令行下运行即可。

三、curl编译
CMake 打开 libcurl 的 CMakeList.txt。

  Add Entry: 
    ZLIB_INCLUDE_DIR D:/developer/include/zlib
    ZLIB_LIBRARIES D:/developer/library/zlib
    OPENSSL_INCLUDE_DIR D:/developer/include
    OPENSSL_LIBRARIES D:/developer/library/openssl
     ZLIB_LIBRARIES_RELEASE D:\zlib-1.2.11\build\Release\zlib.lib

  Configure,这里还有一个CMake的大坑。第一次Configure后,把Advanced勾上。

  SSL_EAY_RELEASE设置为 D:/developer/library/openssl/ssleay32.lib
  LIB_EAY_RELEASE设置为 D:/developer/library/openssl/libeay32.lib

  还有设置ZLIB里面的内容,注意,如果不勾选Advanced,你设置的ZLIB选项是无效的(天坑啊!)。

  补充: 另外这里还有一个地方需要注意一下,Configure时,你要么用OpenSSL,要么可以用Windows SSPI,如果你用OpenSSL,在用CMake生成CURL的解决方案时,要把CURL_WINDOWS_SSPI这个选项的钩给去掉(要出现这个选项,需要勾选CMake的Advanced),否则会出现结构重定义的问题,如果你不使用OpenSSL,不传OPENSSL_INCLUDE和OPENSSL_LIBRARIES进去就好,然后把CMake里那个CMAKE_USE_OPENSSL的钩取消掉,不过前提是你是在编译Windows用的libcurl。

参考:
http://www.cnblogs.com/cnmlgb/p/4976458.html
http://www.cnblogs.com/jingzhishen/p/6216010.html


微信小程序扫码登陆

文章评论

1983人参与,0条评论