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静态库的更多相关文章
- Visual Studio 2015官方汇总包括下载和视频
7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- PowerShell Tools for Visual Studio 2015
首先要去下载Visual Studio 2015 RC 版本 https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downl ...
- .NET Core 在Visual Studio 2015 下的使用-MSDN
.NET Core RC2 现已推出,这是真正的"候选发布"而非 RC1 Beta 冒充的候选发布(如果是那样,请考虑发布后出现的所有更改).当前,围绕 .NET Core 的开发 ...
- 【转载】Visual Studio 2015 for Linux更好地支持Linux下的开发
原文:Visual Studio 2015 for Linux更好地支持Linux下的开发 英文原文:Targeting Linux Made Easier in Visual Studio 2015 ...
- Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)
微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...
- Visual Studio 2015支持为Linux构建应用
点这里 微软著名的集成开发环境有可能是首次在其产品页提及了竞争对手Linux.Visual Studio 2015的页面声称,“Build for iOS, Android, Windows devi ...
- 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1
近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索 ...
- Windows 7 上安装Visual Studio 2015 失败解决方案
安装之前先要看看自己的系统支不支持,具体的可以看:https://www.visualstudio.com/en-us/visual-studio-2015-system-requirements-v ...
- Visual Studio 2015正式发布
Windows 10 RTM正式版要7月29日发布,微软的另一个重磅软件Visual Studio 2015已经率先发布,今天如期放出了正式版本.Visual Studio 2015包括许多新功能和更 ...
随机推荐
- laravel 5.5 登录验证码 captcha 引入
https://blog.csdn.net/u013372487/article/details/79461730 前提: 开启Laravel 的用户认证功能 1.安装 Captcha 安装 Capt ...
- day5_python之协程函数
一.yield 1:把函数的执行结果封装好__iter__和__next__,即得到一个迭代器2:与return功能类似,都可以返回值,但不同的是,return只能返回一次值,而yield可以返回多次 ...
- day6_python序列化之 json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- 开源中国 2014 最受关注开源软件排行榜 TOP 50
开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件 ...
- css3 word-wrap属性
允许长单词换行到下一行: word-wrap:break-word
- Linux下的一些配置
/etc/vim/vimrc文件 set cindent set expandtab set smartindent set autoindent set nu set hls taglist安装(t ...
- 2018-11-19-win10-uwp-使用-Matrix3DProjection-进行-3d-投影
title author date CreateTime categories win10 uwp 使用 Matrix3DProjection 进行 3d 投影 lindexi 2018-11-19 ...
- pytorch JIT浅解析
概要 Torch Script中的核心数据结构是ScriptModule. 它是Torch的nn.Module的类似物,代表整个模型作为子模块树. 与普通模块一样,ScriptModule中的每个单 ...
- 2019-9-2-Visual-studio-创建项目失败vstemplate
title author date CreateTime categories Visual studio 创建项目失败vstemplate lindexi 2019-09-02 12:57:38 + ...
- 【原生JS】动态分页样式效果
效果图如下: html: <body> <div> <table id="btnbox"> <tbody> <tr>&l ...