持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情。
一、安装依赖
1.1 WSL(Ubuntu)系统
使用如下 apt 命令更新 WSL(Ubuntu) 仓库并安装软件包依赖项以进行软件编译。
sudo apt update && sudo apt upgrade
sudo apt install build-essential checkinstall zlib1g-dev -y
1.2 Centos系统
使用 yum 命令安装 'Development Tools' 和一些软件包。
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
二、下载 OpenSSL
可以简单浏览一下 OpenSSL 的下载界面,通过点击下图位置,查看历史版本的源码。
2.1 下载
你可以根据需求自由选择版本,复制对应的链接(比如下图那样),使用 wget 下载对应的安装包,这里下载的是 openssl-3.0.5。
wget https://www.openssl.org/source/old/3.0/openssl-3.0.5.tar.gz
2.2 解压
解压下载的文件
tar -zxvf openssl-3.0.5.tar.gz
2.3 进入
进入解压好的文件夹中
cd openssl-3.0.5
三、编译静态库
3.1 编译静态库
无特殊要求使用下面的命令编译静态库
./config -fPIC no-shared
-fPIC: 指示生成位置无关的代码,该选项是在把openssl生成静态链接库到动态库的时候提示错误添加的 no-shared:指示生成静态库
make
3.2 生成静态库及其头文件目录位置说明
最终会在当前目录下会编译出 libssl.a 和 libcrypto.a
后面使用这两个静态库的时候,只需要包含他们的头文件就可以了,其中头文件在 openssl-3.0.5/include/openssl 目录中
头文件在 openssl-3.0.5/include/openssl 目录中
其次二者存在依赖关系,也就是我前面强调过的,链接库的时候要把libssl.a放在libcrypto.a 前面。