windows下MinGW编译openssl库(64位、32位)图文解析

环境:windows10 64位
工具链:MinGW64
IDE:CLion

MinGW编译openssl 有两种方式获取到动态库:

  • 一种是自己编译,编译源码
  • 一种是在msys下安装openssl库的时候将里面的动态库拿出来,点击跳转

本篇文章主要讲解的是MinGW编译openssl的方法,如果是MSVC编译openssl可以参考我同学的文章

MSVC编译openssl
参考:https://blog.csdn.net/qq_39311335/article/details/116919598

下载安装msys2

推荐使用清华的镜像网站下载,速度快。
官网网址(不推荐):https://www.msys2.org
清华镜像(推荐):https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/
下面我是使用清华的镜像下载截图。
选择一个版本下载,我选择的是20220503的版本。
在这里插入图片描述

更改msys2的下载源

刚下载的msys2使用的默认源在国外,所以下载东西非常慢,需要自己更改成国内的源

  1. 打开安装目录下的\etc\pacman.d可以看到下图中红框中的三个文件
    在这里插入图片描述
  2. 修改mirrorlist.msys
    用记事本打开mirrorlist.msys,在文本的最上面加上这句代码
	Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
  1. 修改mirrorlist.mingw32
    同理使用记事本打开,在最上面增加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
  1. 修改mirrorlist.mingw64
    同理在最上面增加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
  1. 在安装路径下找到msys.exe打开,执行下面指令更新
pacman -Syu

在这里插入图片描述

在环境包中找openssl动态库

  1. 打开msys2的安装路径,

  2. 安装mingw所需的包
    如果是要64位动态库,在mingw64.exe执行下面指令

pacman -S mingw-w64-x86_64-pkgconf

如果是要32位动态库,在mingw32.exe执行下面指令

pacman -S mingw-w64-i686-pkgconf
  1. 查找动态库
  • 64位动态库:在mingw64\bin下找libcrypto-1_1.dll和libssl-1_1.dll
  • 32位动态库:在mingw32\bin下找libcrypto-1_1.dll和libssl-1_1.dll

编译源码

配置msys2的MinGW环境

这取决于你要编译几位的OpenSSL,如果你要编译32位的就安装mingw32位的环境 即可。二者步骤一致只是指令不同,下面我用32位的记录。

  1. 在安装目录下打开mingw32.exe。(64位的就打开mingw64.exe
    在这里插入图片描述
  2. 打开后先用pacman -Syu指令,更新一下下载列表(防止还是用旧的源)
  3. 下载C++编译所需文件。
位数指令exe
64位pacman -S mingw-w64-x86_64-toolchain在mingw64.exe下打开输入的指令
32位pacman -S mingw-w64-i686-toolchain在mingw32.exe下打开输入的指令

这里我是安装mingw32的环境(mingw64也是差不多),编译openssl只需要下图的 3(mingw的gcc) 和 15(mingw的make) 即可
在这里插入图片描述
5. 安装gccmake(此处mingw64和mingw32一致)
安装gcc

pacman -S gcc

安装make

pacman -S gcc

下载OpenSSL源码

  1. 下载路径:https://github.com/openssl/openssl
  2. 下载源码后将源码解压到 msys\home\用户名
    如下图所示,我将解压的openssl-1.1.1o的文件夹放到了home下的用户文件夹中
    在这里插入图片描述

编译源码生成动态库

  1. 打开mingw32.exe(如果要编译64位就打开ming64.exe
  2. 进入openssl的文件夹
cd openssl-1.1.1o/
  1. 配置编译环境
./config -shared

解释: -shared表示生成动态库

  1. 编译(等待个几分钟)
make

编译过程中会有很多警告,无视即可,然后在\openssl-1.1.1o\test就能找到两个动态库(libcrypto-1_1.dll和libssl-1_1.dll
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值