windows openssl编译x64版libssl.lib,编译x64版本libcurl.lib,支持https,vs2015编译器

不要纠结,直接选择用perl编译!

告诫想要用弄成vs编译版的,暂时先别给自己增加麻烦

告诫,以下执行的每一步,都不要纠结

先安装环境

  1. nasm 64位版本 https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-installer-x64.exe
  2. perl 64位版本
    我用的是 https://www.activestate.com/platform/supported-languages/perl/,
    也可以使用 https://strawberryperl.com/
  3. 我使用的是Windows VS2015编译器,编译器的安装就不多说了。

配置环境变量,也就是把perl和nasm的bin路径添加到环境变量path中。
在cmd中使用【perl -v】,可以验证perl是否安装成功

目标

  1. windows环境,vs2015编译器,x64,编译libcurl静态库。
  2. libcurl支持https

可能的疑问

nghttp2目录是干啥用的:用于支持http/2,如果不需要用到http/2,完全可以忽略,我在下文只会顺带提几句编译支持http/2的方法。

基础条件【磨刀不误砍柴工】

  1. 为了不会混乱,我就直接在桌面上创建了一个目录,存在相关代码和生成的库,基础路径【C:\Users\MR\Desktop\openssl_20241216】,每个人的电脑桌面路径不一样,不用纠结。openssl下载地址:https://openssl-library.org/source/,curl下载地址:https://github.com/curl/curl.git,这些地址可能会变,不用纠结,如果用不了,自己上网搜索就行。

  2. 以下是我的目录结构:curl目录是从git拉取curl代码的目录,curl_static可以忽视,我自己创建的用于存放即将生成的库,等会儿在编译的时候,会自动生成。deps目录,以及内部的子目录,先创建,不用问为什么。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

编译openssl

  1. 下载源码,尽可能是最新版本的,因为低版本的源码编译出来的库,一些接口可能不支持。
https://github.com/openssl/openssl
  1. 关键步骤:在开始菜单中,找到【VS2015 x64 本机工具命令提示符】,使用管理员权限运行,打开cmd界面。
    在这里插入图片描述
  2. 关键步骤:在cmd,切记,这是在上一步中,用管理员身份打开的cmd中操作在这里插入图片描述
  3. 关键步骤:用perl编译openssl静态库,no-shared 表示编译静态库,VC-WIN64A 是x64,之后就是漫长的编译等待。
    在这里插入图片描述5. openssl没有指定生成目录,我这边默认是生成到 【C:\Program Files\OpenSSL】在这里插入图片描述在这里插入图片描述在这里插入图片描述
  4. 把生成的openssl拷贝到deps下
    【C:\Program Files\OpenSSL\include\openssl】=》【C:\Users\MR\Desktop\openssl_20241216\deps\include】
    【“C:\Program Files\OpenSSL\lib\libcrypto.lib”】=》【C:\Users\MR\Desktop\openssl_20241216\deps\lib】
    【“C:\Program Files\OpenSSL\lib\libssl.lib”】=》【C:\Users\MR\Desktop\openssl_20241216\deps\lib】
    【“C:\Program Files\OpenSSL\lib\ossl_static.pdb”】=》【C:\Users\MR\Desktop\openssl_20241216\deps\lib】
    在这里插入图片描述在这里插入图片描述
  5. 关键步骤
一些可能用到的语句,可以先忽略
nmake /f Makefile.vc mode=static VC=14 WITH_SSL=static WITH_DEVEL=C:\Users\MR\Desktop\libcurl\curl\deps DEBUG=yes ENABLE_IDN=no MACHINE=x64

perl Configure VC-WIN64A no-shared

dumpbin /headers openssl.exe

curl.exe -V

curl -I https://www.google.com

nmake clean

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/938161.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【sizeof】各种数据类型所占空间大小

各种数据类型所占空间大小 文章目录 前言 一、sizeof是什么? 二、使用步骤 1.整型 2.字符型 总结 前言 ‌sizeof在C语言中是一个运算符,用于获取数据类型或变量在内存中所占的字节数。‌它可以在编译时计算数据类型或变量的内存大小,而…

gitlab仓库API操作

几年没接触gitlab了,新版本装完以后代码提交到默认的main分支,master不再是主分支 项目有几十个仓库,研发提交代码后仓库地址和之前的发生了变化 先修改Group的默认分支,不会影响已存在的项目 修改gitlab全局的默认分支 这就引…

Gitlab服务管理和仓库项目权限管理

Gitlab服务管理 gitlab-ctl start # 启动所有 gitlab 组件; gitlab-ctl stop # 停止所有 gitlab 组件; gitlab-ctl restart # 重启所有 gitlab 组件; gitlab-ctl status …

睡岗和玩手机数据集,4653张原始图,支持YOLO,VOC XML,COCO JSON格式的标注

睡岗和玩手机数据集,4653张原始图,支持YOLO,VOC XML,COCO JSON格式的标注 数据集分割 训练组70% 3257图片 有效集20% 931图片 测试集10% 465图片 预处理 没有采用任何预处…

vue响应式数据-修改对象的属性值,视图不更新

如图: 一:问题是: 我把数据处理后能console.log()打印出来,但是页面的内容不能同步的更新渲染; 二:要求: 在数组循环列表里面,我点击单个的item按钮时,需要实时加载进度…

HuLa——一款基于 Tauri+Vue3 构建的桌面即时通讯应用

文章目录 一、HuLa简介二、技术栈介绍三、安装运行四、界面体验五、开源地址 一、HuLa简介 HuLa 是一个基于 Tauri、Vite 5、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合了 TypeScript 的类型安全特性和 Vite…

云计算HCIP-OpenStack03

书接上回: 云计算HCIP-OpenStack02-CSDN博客 10.KeyStone keystone-Openstack,IAM服务(统一身份认证)-云服务 建议先去了解Hadoop(大数据生态系统)中的kerberos(LDAPkerberos的鉴权机制&#xf…

【YOLO 项目实战】(10)YOLO8 环境配置与推理检测

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【YOLO 项目实战】(1)YOLO5 环境配置与检测 【YOLO 项目实战】(10)YOLO8 环境配置与推理检测 【YOLO5 项目实战】(10)YOLO8 环境…

Vue 3: 通过图片链接获取图片颜色,间接设置背景颜色

在现代Web开发中,动态获取和处理图像数据是一个常见的需求。例如,你可能希望自动提取一张图片的主色调,以便根据这些颜色进行UI主题调整或其他视觉效果的处理。本文将介绍如何在Vue 3项目中,通过一个图片链接获取图片的颜色信息。…

请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配

vs版本升级时,编译时会出现上述问题,如原来在2017下编译的程序,后来改用2019,出现上述问题。需要在解决方案-通用属性-调试源文件下变更相应设置。

FFmpeg第一话:FFmpeg 简介与环境搭建

FFmpeg 探索之旅 一、FFmpeg 简介与环境搭建 二、FFmpeg 解码详解 第一话:FFmpeg 简介与环境搭建 FFmpeg 探索之旅一、前言二、FFmpeg 是什么?三、简单介绍其历史背景四、为什么用 C学习 FFmpeg?(一)高性能优势&#…

【功能安全】软件安全架构

目录 01 软件安全架构介绍 02 软件架构设计模板 03 软件架构设计示例 01 软件安全架构介绍

OpenLinkSaas 2025年1月开发计划

先来看看OpenLinkSaas的大目标 在OpenLinkSaas的产品目标中,让开发人员更加方便的使用云资源是目标之一。通过各大云厂商的API,来可视化云上基础设施的数据是远远不够的。我们准备在2025年1月份增加方便管理和运营研发场景下服务器的能力。 这部分的功能…

【Verilog】实验九 存储器设计与IP调用

一、实验目的 1. 掌握单端口RAM和ROM原理和设计方法。 2. 掌握单端口RAM和ROM的IP生成和调用方法。 2. 掌握ModelSim和VIVADO工具软件。 3. 掌握基本的测试代码编写和FPGA开发板使用方法。 二、实验环境 1. 装有ModelSim和VIVADO的计算机。 2. Sword实验系统。 三、实验…

元力音乐 1.2.2 | 完全免费无广告的无损音乐听歌下载工具

元力音乐是一款音乐听歌和下载工具,提供完全免费且没有任何广告弹窗的用户体验。内置两条线路,用户可以无限次下载无损音质音乐。作者承诺永久免费并长期维护此应用。此外,它还支持导入歌单功能,让用户能够轻松管理和下载喜爱的音…

生产环境迁移——harbor篇

这些年环境迁移干了很多,但是没有总结,想想还是记录一下,以前是下属做,自己统筹就行,现在就剩下孤家寡人了,只好都自己做。还是完整记录下来,供有缘人参考。其实我也是搭了个草台班子。 1 安装…

电脑问题4[非华为电脑安装华为电脑管家华为荣耀手机多屏协助]

非华为电脑安装华为电脑管家华为荣耀手机多屏协助 我是荣耀手机之前一直用的是window的"连接手机"功能,电脑控制手机还蛮好用,但是又不能够没有好的电脑控制手机的功能,后来想了想看了看,竟然安装了华为电脑关键,竟然可以顺利连接上荣耀手机,发现还蛮好用! 本文引用…

KeyFormer:使用注意力分数压缩KV缓存

Keyformer: KV Cache Reduction through Key Tokens Selection for Efficient Generative Inference 202403,发表在Mlsys Introduction 优化KV cache的策略,主要是集中在系统级别的优化上,比如FlashAttention、PagedAttention,它…

linux ibus rime 中文输入法,快速设置为:默认简体 (****)

本文环境: ubuntu 22.04 直接 apt install ibus-rime 输入法的安全性,人们应该关注吧!!?? 云输入法?将用户的输入信息传输到云端吗? Rime 等的一些输入法,是本地的&…

【python从入门到精通】-- 第七战:字典

🌈 个人主页:白子寰 🔥 分类专栏:重生之我在学Linux,C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持…