OpenSSL编译过程和报错解决

2022年11月8日08:59:14

OpenSSL编译过程和遇到的问题

OpenSSL编译过程和遇到的问题

因为需要用到OpenSSL库所以折腾了好久记录一下如何编译和遇到的一些问题。
一环境准备:
win764位系统。vs2017,先安装perl,下载OpenSSL。

二编译
打开VS2017的编译工具
OpenSSL编译过程和报错解决我用的是X64

不要使用 x86 和 x64 的交叉命令行工具,
要编译 x86 版本的 openssl,就使用 x86 版本的命令行工具;
要编译 x64 版本的 openssl,就使用 x64 版本的命令行工具。

(1)进入 openssl 源码路径:cd /d (openssl 1.0.2u 路径)
编译生成64debug版:
perl Configure debug-VC-WIN64A no-asm --prefix=“D:\openssl-1.0.2l\bin\x64\debug”
编译生成64release版:
perl Configure VC-WIN64A no-asm --prefix=“D:\openssl-1.0.2l\bin\x64\release”
再依次执行下面语句:
1、ms\do_win64a
2、nmake -f ms\ntdll.mak (如果失败先进入目录D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build 目录输入vcvars32.bat 回车。执行完再回到原来的目录继续执行其他命令)
3、nmake -f ms\ntdll.mak test (成功会看到passed all tests)
4、nmake -f ms\ntdll.mak install
5、nmake -f ms\ntdll.mak clean
都成功了就会在"D:\openssl-1.0.2l\bin\x64\release"下看到编译好的文件了。

三错误解决
1、无法解析的外部符号 sha256_block_data_order,该符号在。。。。
OpenSSL编译过程和报错解决
这个问题在网上看到别说是因为之前编译过了。再次执行nmake -f ms\ntdll.mak clean,再nmake -f ms\ntdll.mak 编译一下就可以了。

记录一下,也给其他人参考一下。

  • 作者:haiword
  • 原文链接:https://blog.csdn.net/haiword/article/details/120906176
    更新时间:2022年11月8日08:59:14 ,共 900 字。