windows x64编译
-
下载openssl:
下载地址:https://www.openssl.org/source/
选择要下载的源码:

2.下载perl:
下载地址: Strawberry Perl for Windows or(Download & Install Perl - ActiveState)
选择下载版本:

下载完后装,通过cmd查看环境变量配置是否成功:
perl -v 查看版本:

3.下载nasm:
下载地址:https://www.nasm.us/

选择下载版本:

两种方式:安装和解压配置:

我选择win64.zip,下载后解压配置环境变量,配置nasm.exe路径。
4.安装Visual Studio

5. cd 到openssl源码目录,输入perl Configure VC-WIN64A执行,如果需要指定安装目录,执行perl Configure VC-WIN64A --prefix=E:\thirdLib\openssl-3.0.10\opensslLib指令。

配置完后使用nmake编译。


安装完成后即在配置的目录下看到相应的头文件及库文件。
6. 使用nmake test对构建完成之后的模块进行测试

前面用非管理员编译有报错,未通过,改用管理员编译测试正常。
另外openssl的生成的库也有所变化,在1.0.x之前的版本中,文件为libeay32.dll和ssleay32.dll,在1.1.x之后的版本中,名字是libssl.dll和libcrypto.dll。
windows 环境下库区分版本:debug模式及release模式,win32,win64平台。
win32配置如下,若是win64,则把下面相应的WIN32改成WIN64A。
/MT:
perl Configure VC-WIN32 no-shared --prefix=E:\thirdLib\openssl3.0.10\opensslLib\win32\MT --openssldir=E:\thirdLib\openssl3.0.10\opensslLib\win32\MT
/MTd:
perl Configure debug-VC-WIN32 no-shared --prefix=E:\thirdLib\openssl3.0.10\opensslLib\win32\MTd --openssldir=E:\thirdLib\openssl3.0.10\opensslLib\win32\MTd
/MD:
perl Configure VC-WIN32 --prefix=E:\thirdLib\openssl3.0.10\opensslLib\win32\MD --openssldir=E:\thirdLib\openssl3.0.10\opensslLib\win32\MD
/MDd:
perl Configure debug-VC-WIN32 --prefix=E:\thirdLib\openssl3.0.10\opensslLib\win32\MDd --openssldir=E:\thirdLib\openssl3.0.10\opensslLib\win32\MDd
--prefix prefix for the OpenSSL installation, which includes the directories bin, lib, include, share/man, share/doc/openssl This becomes the value of INSTALLTOP in Makefile
--openssldir OpenSSL data area, such as openssl.cnf, certificates and keys.If it's a relative directory, it will be added on the directory given with --prefix.
linux ubuntu交叉编译
1.源码同windows,把源码复制到ubuntu目录下,执行tar -xvf openssl-3.0.10.tar.gz 解压源码。进入源码目录,执行./Configure linux-aarch64 --cross-compile-prefix=aarch64-himix100-linux- --prefix=/home/linuxwz/commonLib/openssl3.0.10,linux-aarch64指定arm平台,在网上看了很多是写linux-armv4的,在我这边执行无法通过,这是要根据编译器平台选择的。--cross-compile-prefix=aarch64-himix100-linux- 指定编译器前缀,Makefile中会通过变形式加上后缀:$(CROSS_COMPILE)gcc,变成aarch64-himix100-linux-gcc。--prefix=/home/linuxwz/commonLib/openssl3.0.10,指定安装路径。
2.执行make编译及,编译完后执行make install进行安装,安装完成后即可在安装目录下看到相应的文件。