当前位置: 首页 > article >正文

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

http://www.kler.cn/a/444917.html

相关文章:

  • PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
  • winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序,在需要屏蔽双击窗体最大化、最小化、关闭
  • 《全面解析 QT 各版本:特性、应用与选择策略》
  • 【进阶编程】MVC和MVVM实现前后端分离的实现
  • ip地址和网络号关系是什么
  • 【Prometheus 】【实战篇(五)】深入解析 Prometheus 监控指标类型:Counter、Gauge、Histogram 和 Summary
  • 【NVIDIA】启动ubuntu后显卡驱动丢失
  • esp8266_TFTST7735语音识别UI界面虚拟小助手
  • 信号处理相关的东东(学习解惑)
  • 高浓度盐酸除铁的详细介绍
  • mlr3超参数Hyperparameter 自动寻找auto
  • 9_HTML5 SVG (5) --[HTML5 API 学习之旅]
  • 详解ROS环境配置:setup.bash 文件的功能与操作
  • Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
  • 8K+Red+Raw+ProRes422分享5个影视级视频素材网站
  • mysql同一张表中数据一样的问题和解决
  • 远程桌面连接
  • vue create 创建项目 提示 Failed to check for updates 淘宝 NPM 镜像站喊你切换新域名啦
  • 如何测量分辨率
  • Java8 Stream编码问题
  • 【HTML】动态闪烁圣诞树+雪花+音效
  • 教育版idea及jetbrains全家桶免费使用
  • 七、网络安全-企业数据脱敏
  • 【YOLO】 YOLOv3原理
  • 深入解析 Vue 3 源码:原理与学习指南
  • ffmpeg.exe 命令使用