visualstudio2015编译生成支持https协议的libcurl静态库(代码片段)

夜已深茶已凉 夜已深茶已凉     2022-11-03     608

关键词:

由于之前的工作需要使用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 文件夹下 

 

 

of框架在visualstudio中启用docker支持,编译生成,并在容器运行项目

 准备 本地已经安装Docker  一、添加Docker支持 第一步:查看本地Docker服务状态  第二步:项目添加Docker支持 第三步:选择Linux容器   第四步:点击启动  第五步:确认Docker状态 &... 查看详情

建立opengl环境(visualstudio2015)(代码片段)

...下文,定义窗口参数以及处理用户输入。3.建立GLFW环境(VisualStudio2015)  3.1下载GLFW   3.2  下载源码包之后,将其解压并打开。我们只需要里面的这些内容:  编译生成的库    include文件夹  从源代码编译库... 查看详情

使用 Visual Studio 2015 编译 OpenCV 2.4.12 时出错

】使用VisualStudio2015编译OpenCV2.4.12时出错【英文标题】:ErrorscompilingOpenCV2.4.12withVisualStudio2015【发布时间】:2016-05-0721:37:58【问题描述】:我已经下载了OpenCV2.4.12源代码。我用CMake创建了一个VisualStudio2015的OpenCV项目来编译库。这是... 查看详情

编译和链接项目时 Visual Studio 2015 挂起

】编译和链接项目时VisualStudio2015挂起【英文标题】:VisualStudio2015hangswhencompilingandlinkingprojects【发布时间】:2016-05-2612:53:26【问题描述】:我最近从VisualStudio2012更改为VisualStudio2015作为我的c++项目的编译器。进行此更改后,我注... 查看详情

在 Visual Studio 2015 中损坏的假货

】在VisualStudio2015中损坏的假货【英文标题】:FakesBrokeninVisualStudio2015【发布时间】:2015-11-0115:34:01【问题描述】:我有VisualStudio2015Enterprise,发现我几乎无法编译我们现有的2013项目。进一步的调查表明,VisualStudio2015无法为VisualSt... 查看详情

visualstudio2015各个版本有啥区别

VisualStudio2015有三个版本:社区版、Professional、企业版。接下来详细介绍一下三个版本的区别:1、社区版不支持企业使用,两外两个版本支持所有主体使用2、企业版支持所有的集成开发环境,社区版和Professional都有不支持的功能... 查看详情

std库中的Visual Studio编译错误

】std库中的VisualStudio编译错误【英文标题】:VisualStudioCompileerrorsinstdlibrary【发布时间】:2015-07-1721:16:34【问题描述】:我正在尝试按照此处提供的说明在VisualStudio2015RC中松散地构建Facebook愚蠢:https://github.com/jbandela/folly/tree/vc11... 查看详情

Visual Studio 2015,使用 2015 编译器

】VisualStudio2015,使用2015编译器【英文标题】:VisualStudio2015,Using2015Compiler【发布时间】:2015-09-2403:37:09【问题描述】:我有一个简单的问题,我认为答案是否定的,因为我只能找到与VisualStudio的向后兼容性。我想知道VS2015可以使... 查看详情

visualstudio2015平台工具集

VS2015如何添加2015以下的平台工具集,如VS2013,VS2010等的平台工作集有没有办法?有没有安装VS2013,和VS2010的平台工作集?有没有高人会的,帮忙解答下?我也有过这种情况在下载了2015VS之后没有看到2010的平台不过只要再下载一个20... 查看详情

vs2015未安装style的visualstudio语言支持

解决方案:在浏览器搜索下载安装MicrosoftASP.NETandWebTools即可下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=49959 安装了好几个插件都不行,最后安装了这个插件问题解决了  查看详情

visualstudio2015中的webapi生成helppage,页面不显示方法说明问题解决

环境:vs2015、win7参考:http://www.cnblogs.com/Erik_Xu/p/5638381.html生成的help页面如下:,并没有显示控制器和方法。原因是:新建项目时候没有勾选WebApi,webapi是后来添加的。缺少App_Start下的WebApiConfig.cs文件,如下。要显示Action,更改为... 查看详情

cmake:vs2015和gcc编译cpp_redis(代码片段)

...及GCC/MinGW的编译过程。环境要求cmake这是必须的编译工具VisualStudio2015ORMinGWforwindowsgccforlinuxVisualStu 查看详情

用visualstudio2015成功编译发布umdf驱动到目标机(windows10x86)!!

开发工具:VisualStudio2015企业版主   机:windows10X64企业版,主机是安装了VisualStudio2015的操作系统,主要进行驱动开发和调试。目 标机:windows10X86企业版,目标机是安装和调试驱动的操作系统,和主机是分离的独立... 查看详情

Visual Studio 2015 和 Taywee/args 库编译问题

】VisualStudio2015和Taywee/args库编译问题【英文标题】:VisualStudio2015andTaywee/argslibrarycompilationissues【发布时间】:2016-07-1018:02:12【问题描述】:我在VisualStudio2015社区版中编译以下代码时遇到问题(首先我说的是这个库:https://github.co... 查看详情

在 cl 编译器中编译 C99

...15-04-0811:24:04【问题描述】:我正在使用microsoftcl编译器(VisualStudio2013附带的那个),我正在寻找一个在编译时使用的命令来告诉编译器支持C99..谁能帮我做这件事?【问题讨论】:【参考方案1】:不,没有开关,它始终处于相... 查看详情

visualstudio2015无法命中断点

新安装操作系统后发现,vs2015无法命中断点。 在项目中设置生成调试信息:FULL  即可。 查看详情

VisualStudio 2010 - 没有更多的自动预编译头文件?

】VisualStudio2010-没有更多的自动预编译头文件?【英文标题】:VisualStudio2010-nomoreautomaticprecompiledheaders?【发布时间】:2014-12-0313:09:03【问题描述】:VisualStudio6中有一个编译器选项/YX可以自动生成预编译头文件。不需要stdafx.h/cpp文... 查看详情

visualstudio2012编写的程序xp能运行吗?

...不会因为xp不支持.net4.5?都不能运行还是一部分不能运行?VisualStudio2012编译的程序无法在Xp运行的解决办法:现在微软早已在VS2012Update1中添加了对XP的支持。Update1下载页面(现在已经是Update2了):http://www.microsoft.com/visualstudio/chs/do... 查看详情