win10编译openssl

环境

Win10 64位
VS2022
openssl      3.3.0
nasm      NASM version 2.16.01 compiled on Dec 21 2022
perl      strawberry-5.38.2.2

环境变量设置

  • perl加入到环境变量,略过
  • nasm加入到环境变量
  • vs的nmake加入到环境变量
    我的nmake位置如下:
    C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64
    

操作编译

  • step1 环境配置:打开cmd,进入到目录 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build

    • 编译64位版本执行:vcvarsall.bat x64
    • 编译32位版本执行:vcvarsall.bat x64_x86
  • step2 进入到openssl源码目录,我的如下:D:\dev\openssl-openssl-3.3.0\openssl-openssl-3.3.0

  • step3 配置编译32还是64位

    • 32位:perl Configure VC-WIN32 no-asm --prefix=D:\xxx\openSSL32 --openssldir=D:\xxx\ssl32
    • 64位:perl Configure VC-WIN64A no-asm --prefix=D:\xxx\openSSL --openssldir=D:\xxx\ssl
  • step4 编译 nmake

  • step5 安装 nmake install ,之后会将lib和dll放到prefix参数配置的目录下

错误记录

1、不能直接打开cmd,进入到openssl源码目录执行配置,否则会找不到vs自带的一些头文件,或报如下错误

Microsoft (R) 程序维护实用工具 14.16.27048.0 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

        "cl"  /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 -I"." -I"include" -I"apps\include" -D"L_ENDIAN" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"D:\\dev\\openssl-openssl-3.3.0\\output\\ssl\"" -D"ENGINESDIR=\"D:\\dev\\openssl-openssl-3.3.0\\output\\openSSL\\lib\\engines-3\"" -D"MODULESDIR=\"D:\\dev\\openssl-openssl-3.3.0\\output\\openSSL\\lib\\ossl-modules\"" -D"OPENSSL_BUILDING_OPENSSL" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG"   -c /Foapps\lib\libapps-lib-app_libctx.obj "apps\lib\app_libctx.c"
app_libctx.c
D:\dev\openssl-openssl-3.3.0\openssl-openssl-3.3.0\include\openssl/types.h(26): fatal error C1083: 无法打开包括文件: “limits.h”: No such file or directory
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe"”: 返回代码“0x2”
Stop.

解决方式1:开始菜单中找到vs,可以看到有很多环境设置,实际上也是调用脚本vcvarsall.bat设置环境
在这里插入图片描述

方案2:进入 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build,执行vcvarsall.bat ,这个会更灵活,还能编译arm版本的库

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值