Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库 Win8-64位安装OpenSSL详细过程

由于之前的工作需要使用libcurl 开源项目库 在各种研究后发现无法使用HTTPS协议

后来经过各种翻阅文档,发现需要OpenSSL支持,这个需要自己下载并自己编译生成 lib 或者 dll 

至于OpenSSL 的编译我就不做过多的介绍 直接贴一个安装的教程链接 大家可以参考下 

http://www.cnblogs.com/yangyquin/p/5284530.html

Win8-64位安装OpenSSL详细过程

到GitHub上下载 curl开源的项目 https://github.com/curl/curl

克隆下来以后 进入 curl 当前目录下 新建一个“deps”的文件夹 

把前面生成 的静态或者动态的OpenSSL 的bin 、include 、lib  这三个文件夹拷贝到 “deps”文件夹下

接着运行 buildconf.bat文件

 

 接着运行 visual studio 2015 的命令行工具 记得管理员身份运行

首次进入会在C:\Program Files (x86)\Microsoft Visual Studio 14.0> 这里

我们需要进入 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

命令行 输入

cd vc\bin 

  

回车进入

接着 控制台 输入 

vcvars32.bat

这个时候 我们需要进入 我们刚下载 的curl\winbuild目录下了

因为我的curl 下载 放到了E盘 这里我需要切换到E盘 并且cd 到 E:\OpenSource\curl\winbuild 下

 cd curl-src \ winbuild

然后你可以用所需的选项调用nmake / f Makefile.vc(见下文)。
该版本将位于顶级src目录中,并生成\目录
一个使用提供给nmake调用的选项命名的目录。

nmake / f Makefile.vc mode = <static或dll> <options>

其中<options>是一个或多个:
  VC = <6,7,8,9,10,11,12,14,15> - VC版本
  WITH_DEVEL = <路径> - 开发文件的路径(SSL,zlib等)
                                 默认为同级目录代表:../deps
                                 可以通过http://windows.php.net/downloads/php-sdk/deps/获取图书馆
                                 将它们解压缩到deps文件夹中。
  WITH_SSL = <dll或static> - 启用OpenSSL支持,DLL或静态
  WITH_NGHTTP2 = <dll或static> - 启用HTTP / 2支持,DLL或静态
  WITH_MBEDTLS = <dll或static> - 启用mbedTLS支持,DLL或静态
  WITH_CARES = <dll或static> - 启用c-ares支持,DLL或静态
  WITH_ZLIB = <dll或static> - 启用zlib支持,DLL或静态
  WITH_SSH2 = <dll或static> - 启用libSSH2支持,DLL或静态
  ENABLE_SSPI = <yes或no> - 启用SSPI支持,默认为yes
  ENABLE_IPV6 = <是或否> - 启用IPv6,默认为yes
  ENABLE_IDN = <是或否> - 启用Windows IDN API,默认为yes
                                 需要Windows Vista或更高版本,或从以下位置安装:
                                 https://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
  ENABLE_WINSSL = <是或否> - 启用本机Windows SSL支持,默认为yes
  GEN_PDB = <是或否> - 生成程序数据库(用于发布版本的调试符号)
  DEBUG = <是或否> - 调试版本
  MACHINE = <x86或x64> - 目标架构(默认为x86)

微软C RunTime(CRT)的静态链接:
==============================================
如果你使用mode = static,nmake会创建并链接到静态构建
libcurl但不是*静态CRT。如果你一定要强制nmake链接进去
通过传递RTLIBCFG =静态的静态CRT。通常你不应该使用它
选项,并且nmake将默认为DLL CRT。 RTLIBCFG很少使用
因此很少测试

上面的就是编译所需要的 一些 参数 

在命令行 输入 如下代码  回车即可 

nmake /f Makefile.vc mode=static VC=14 WITH_SSL=static WITH_DEVEL=E:\OpenSource\curl\deps\ DEBUG=yes  ENABLE_IDN=no

 当然 想编译其他的 可以根据参数自己修改

这个就是 添加OpenSSL 后的静态支持库 libcurl访问HTTPS网站的 效果图

不过 这个支持库的大小有点大 足足 21Mb多 编译后的文件在 builds 文件夹下 

猜你喜欢

转载自www.cnblogs.com/guolongzheng/p/8856058.html