Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库
Posted 夜已深茶已凉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库相关的知识,希望对你有一定的参考价值。
由于之前的工作需要使用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 文件夹下
以上是关于Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库的主要内容,如果未能解决你的问题,请参考以下文章
OF框架在Visual Studio中启用Docker支持,编译生成,并在容器运行项目
使用 Visual Studio 2015 编译 OpenCV 2.4.12 时出错
转载Visual Studio 2015 for Linux更好地支持Linux下的开发
Visual Studio 2015编译安装OpenCV 3.0和opencv_contrib
Source Generators(源代码生成器)的调试器支持 | Visual Studio 2019(16.10)新功能试用...