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

openssl编译

关于windows下,openssl编译

环境准备
  1. 安装 perl:https://djvniu.jb51.net/200906/tools/ActivePerl5_64.rar
  2. 安装nasm:https://www.nasm.us/pub/nasm/releasebuilds/2.13.01/win64/nasm-2.13.01-installer-x64.exe
  3. 下载opensll源码:https://openssl-library.org/source/old/3.0/index.html
  4. 加入系统PATH变量
  5. 验证
#验证perl
perl --version
#验证nasm
nasm --version

在这里插入图片描述

编译

打开vs 工具=>命令行=>开发者命令提示 (如果配置环境变量之前vs已打开,则关闭vs之后重新打开),不要使用cmd,会提示找不到nmake

#默认Release
#--prefix 需要绝对路径
perl configure VC-WIN64A --prefix=F:\project\openssl-3.0.14\build\vs2019\release\
nmake 
nmake test
nmake install

configuer option:default Release /MD

- `perl Configure VC-WIN32`     if you want 32-bit OpenSSL or
- `perl Configure VC-WIN64A`    if you want 64-bit OpenSSL or
- `perl Configure VC-WIN64-ARM` if you want Windows on Arm (win-arm64)
Debug or Release
#Release
`perl Configure VC-WIN64A`

#debug recommand
`perl Configure VC-WIN64A --debug`
or
`perl Configure debug-VC-WIN64A`
静态库
#如果指定no-shared则默认MT,否则默认MD
#lib & MD
perl Configure VC-WIN32 -static 

#lib & MT
perl Configure VC-WIN32 -static no-shared
/MD /MT
#MT
perl configure VC-WIN64A -static no-shared /MTd --debug
perl configure VC-WIN64A -static no-shared /MT 
#MD
perl configure VC-WIN64A -static /MDd --debug
perl configure VC-WIN64A -static /MD 
demo
    perl configure VC-WIN64A -static no-shared /MTd --prefix=F:\project\openssl-3.0.14\build\vs2019static\debug\ --debug
DOC
查看源文件目录下:NOTES-*.md INSTALL.md
编译 1.x.x版本

整体和上面没有区别,当arch不匹配的时候会报错。
1.编译x86,以管理员身份打开x86 Native Tools Command Prompt for VS 2019
2.编译x64,以管理员身份打开x64 Native Tools Command Prompt for VS 2019


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

相关文章:

  • 论文解析 | 基于语言模型的自主代理调查
  • 如何理解机器学习中的向量 ?
  • Mac 启动docke报错 com.docker.vmnetd【解决方案】
  • 在 Safari 浏览器中,快速将页面恢复到 100% 缩放(也就是默认尺寸)Command (⌘) + 0 (零)
  • vue实现Nprogress进度条功能
  • 新版本的IDEA如何解决Git分支显示为警告⚠<unknown>的问题
  • Android ValueAnimator根据屏幕刷率动态出帧/刷新,Kotlin
  • NLP中的问答(Question answering)
  • C#中的类型转换以及异常处理--05
  • Python在Excel工作表中创建数据透视表
  • AI Agent:软件测试自动化的新纪元
  • C++中的条件变量(condition_variable)详解:小白版
  • 移动应用安全:保护用户隐私与数据的关键解决方案
  • 安全运营体系建设
  • 字符串 (算法十一)
  • 【8】深入理解 Go 语言中的协程-从基础到高级应用
  • django基于Python对西安市旅游景点的分析与研究
  • 探秘 JMeter (Interleave Controller)交错控制器:解锁性能测试的隐藏密码
  • Go语言之路————func
  • Golang笔记——语言基础知识