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
使用的默认源在国外,所以下载东西非常慢,需要自己更改成国内的源
- 打开安装目录下的
\etc\pacman.d
可以看到下图中红框中的三个文件
- 修改
mirrorlist.msys
用记事本打开mirrorlist.msys
,在文本的最上面加上这句代码
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
- 修改
mirrorlist.mingw32
同理使用记事本打开,在最上面增加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
- 修改mirrorlist.mingw64
同理在最上面增加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
- 在安装路径下找到
msys.exe
打开,执行下面指令更新
pacman -Syu
在环境包中找openssl动态库
打开msys2的安装路径,
安装mingw所需的包
如果是要64位动态库,在mingw64.exe
执行下面指令
pacman -S mingw-w64-x86_64-pkgconf
如果是要32位动态库,在mingw32.exe
执行下面指令
pacman -S mingw-w64-i686-pkgconf
- 查找动态库
- 64位动态库:在mingw64\bin下找
libcrypto-1_1.dl
l和libssl-1_1.dll
- 32位动态库:在mingw32\bin下找
libcrypto-1_1.dl
l和libssl-1_1.dll
编译源码
配置msys2的MinGW环境
这取决于你要编译几位的OpenSSL,如果你要编译32位的就安装mingw32
位的环境 即可。二者步骤一致只是指令不同,下面我用32位的记录。
- 在安装目录下打开
mingw32.exe
。(64位的就打开mingw64.exe
)
- 打开后先用
pacman -Syu
指令,更新一下下载列表(防止还是用旧的源) - 下载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. 安装gcc
和make
(此处mingw64和mingw32一致)
安装gcc
pacman -S gcc
安装make
pacman -S gcc
下载OpenSSL源码
- 下载路径:https://github.com/openssl/openssl
- 下载源码后将源码解压到 msys\home\用户名
如下图所示,我将解压的openssl-1.1.1o的文件夹放到了home下的用户文件夹中
编译源码生成动态库
- 打开
mingw32.exe
(如果要编译64位就打开ming64.exe
) - 进入openssl的文件夹
cd openssl-1.1.1o/
- 配置编译环境
./config -shared
解释: -shared表示生成动态库
- 编译(等待个几分钟)
make
编译过程中会有很多警告,无视即可,然后在\openssl-1.1.1o\test
就能找到两个动态库(libcrypto-1_1.dl
l和libssl-1_1.dll
)
windows下MinGW编译openssl库(64位、32位)图文解析相关推荐
- Windows下MinGW编译vim7.4
学习了一段时间Vim,感觉有些功能真的很方便.因学习原因,工作平台更换到一台老式Xp电脑上,重新安装了Vim7.4.官网默认版本不支持等宽字体和GDI++渲染,需要手工编译一个修改过的版本. 1.下载 ...
- windows 下 vs2008 编译 OpenCV 库
1. 下载 opencv-2.4.9.exe 下面地址可以用迅雷: http://downloads.sourceforge.net/project/opencvlibrary/opencv-win ...
- boost——windows下VS2013update5编译boost库
下载boost库 从http://www.boost.org上下载到目前最新的boost库 注意,现在最新版的需要编译器支持C++14,可以用VS2013 update5,或者下载最新版的VS2017 ...
- Windows编程-判断一个程序是64还是32位的小程序
//编写一个判断进程是否位64位程序的函数 typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCES ...
- Boost在Linux和windows下的编译 32位 64位
一 简言 1. Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一 2. Boost官网地址:http://www.boost.org/ 3. 本博客示 ...
- Windows10+VS2017下安装和 编译openssl库
windows10+VS2017下安装和编译openssl库 环境 windows10,64位 openssl解压目录:E:\mylib\openssl-1.0.2l openssl安装目录:E:\m ...
- Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
环境准备 Windows7/10电脑需要能访问https://skia.org/和https://skia.googlesource.com/skia.git 在Windows上安装Visual St ...
- tinyxml在linux和windows下的编译及使用详解
一:摘要 1.XML全称EXtensible Markup Language,翻译为可扩展标记语言,XML文件通常就是一个文本文件,可以使用任何编码 2.TinyXML是一个开源的C++用来处理XML ...
- jsoncpp在linux和windows下的编译及使用详解
一:摘要 1. JSON是一种轻量级的数据传输格式,全称为:JavaScript Object Notation,官方网址: http://www.json.org/json-zh.html 3. J ...
最新文章
- Pycharm报错合集:在pycharm运行anaconda配置的Pytorch环境报错(Environment location diretory is not empty )
- #大学#SQL基础学习笔记(02)
- Cortex-M3启动深度解析
- oracle动态注册和静态注册监听器
- IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR
- java aop execution_Spring AOP -- execution表达式
- 前端学习(2754):配置tabber
- vs Obsolete标识符
- PAT甲级1004 (DFS,树的父子节点)
- 浙江大华 研发类试题
- 桃养人,杏害人,樱桃树下埋死人
- 研究学习时用到的软件
- ibm服务器查看刀片状态,IBM刀片服务器 blade center s常见问答
- date类型被fastjson变为long类型一串数字
- 第3章【思考与练习4】数据清洗,从studentsInfo.xlsx 文件的“Group1”表单中读取数据。数据填充,使用习题1的数据,使用列的平均值填充“体重”和“成绩”列的NaN数据。
- 什么是B2B、B2C、C2C?
- 论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
- 使用CYUSB3014实现SPIFlash读写擦除控制
- 【华为诺亚方舟实验室】2021届毕业生招聘
- iMX6ULL启动流程