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

【自记录】VS2022编译OpenSSL1.0.2u

因为突然要编译一个老工程,老工程里面用到了OpenSSL 1.0.x。
于是官网下载了最后一个1.0.x版本1.0.2u。

1 下载安装Perl

去Perl官网下载即可。
使用vcpkg直接安装也可以,比前者更方便

vcpkg install perl
#根据实际路径调整
set PATH=D:\vcpkg\downloads\tools\perl\5.32.1.1\perl\bin;%PATH%

2 编译

本来想打开Developer Command Prompt后简单的运行

perl Configure VC-WIN32
ms\do_ms.bat

结果意外的收到这个报错

tmp32\sha1-586.asm(1576) : error A2070:invalid instruction operands

do_ms.bat中本来明确的声明了no-asm,怎么会还在编译asm文件呢?
搜索看到了这个帖子,有人给出了答案:
https://github.com/openssl/openssl/issues/169

  1. 新版本的VS已不支持no-asm模式
  2. 使用nasm可跳过该问题。

可以在官网下载最新版本,或使用vcpkg安装。我直接用之前编译Qt时自动下载的,也能用。直接放在openssl的源码目录下即可。

根据正确答案进行改造,一并输出动态库和静态库的release/debug版本

perl Configure VC-WIN32
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl nasm VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl nasm debug VC-WIN32 >ms\nt_dbg.mak
perl util\mk1mf.pl nasm dll VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl nasm debug dll VC-WIN32 >ms\ntdll_dbg.mak
perl util\mk1mf.pl nasm BC-NT >ms\bcb.makperl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
nmake -f ms\nt.mak
nmake -f ms\nt_dbg.mak
nmake -f ms\ntdll.mak
nmake -f ms\ntdll_dbg.mak#下面的可以不做,如果做了,默认会在你驱动器的根目录下,例如e:\usr\local下
nmake -f ms\nt.mak install
nmake -f ms\nt_dbg.mak install
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll_dbg.mak install
http://www.lryc.cn/news/321336.html

相关文章:

  • ES代替品:轻量级搜索引擎MeiliSearch
  • 用C语言打造自己的Unix风格ls命令
  • git的起源
  • 软件杯 深度学习 python opencv 火焰检测识别
  • C# double类型计算精度问题解决
  • 基于Springcloud+Vue校园招聘系统 Eureka分布式微服务
  • 【NLP笔记】RNN总结
  • [c++]内存管理
  • k8s通过编排文件,实现服务的滚动更新
  • 安卓面试题多线程 96-100
  • 第二十六章 配置 Web Gateway 的默认参数
  • npm i安装依赖报错,但是cnpm i 却安装成功
  • C语言经典算法-9
  • React 19的变化
  • Kafka整理-Kafka与传统消息队列系统(如RabbitMQ, ActiveMQ)的区别是什么?
  • 汽车电子零部件(8):T_Box
  • 数库据设计最佳实践
  • ESSBAE 数据挖掘
  • 在Linux/Ubuntu/Debian中使用iFuse访问iOS 设备(例如 iPhone 或 iPad)上的文件可双向复制粘贴
  • 驱动开发中的DMA是什么
  • websocket 升级协议时的协议切换点
  • 在Linux中开发C++
  • 【linux】Debian访问Debian上的共享目录
  • Postman Newman API 自动化测试快速入门
  • Python之Web开发中级教程----ubuntu安装MySQL
  • Flutter开发入门——路由
  • Acrobat Pro DC 2023:PDF编辑与管理的全新体验
  • Linux课程_____网络管理
  • ubuntu20.04_PX4_1.13
  • 12350安全生产举报热线系统解决方案