mingw环境编译openssl 3.0
程序员文章站
2024-02-19 23:44:34
...
openssl是ssl的开源实现
SSL (Secure Sockets Layer 安全套接字协议)
很多软件都是依赖于openssl运行的,比如linux的ssh,https等
这是一个非对称加密解密的重要工具
mingw是使用windows环境实现了类似unix的开发平台
是将gnu的很多软件针对windows进行了重构
为了能在遗留开发环境Qt4.8的mingw下使用openssl,这里介绍了一种编译openssl代码的方法
这里介绍的运行环境为MSYS2
安装好MSYS2后,先安装开发工具链
pacman -S mingw-w64-i686-toolchain
$ pacman -S mingw-w64-i686-toolchain
:: 在组 mingw-w64-i686-toolchain 中有 17 成员:
:: 软件仓库 mingw32
1) mingw-w64-i686-binutils 2) mingw-w64-i686-crt-git 3) mingw-w64-i686-gcc
4) mingw-w64-i686-gcc-ada 5) mingw-w64-i686-gcc-fortran
6) mingw-w64-i686-gcc-libgfortran 7) mingw-w64-i686-gcc-libs
8) mingw-w64-i686-gcc-objc 9) mingw-w64-i686-gdb
10) mingw-w64-i686-headers-git 11) mingw-w64-i686-libmangle-git
12) mingw-w64-i686-libwinpthread-git 13) mingw-w64-i686-make
14) mingw-w64-i686-pkg-config 15) mingw-w64-i686-tools-git
16) mingw-w64-i686-winpthreads-git 17) mingw-w64-i686-winstorecompat-git
输入某个选择 ( 默认=全部选定 ):
这里可以看到我们是用了交叉编译的环境,在64位环境下编译目标位i686,使用默认安装
下面安装make及ld、perl等工具
pacman -S base-devel
$ pacman -S base-devel
:: 在组 base-devel 中有 58 成员:
:: 软件仓库 msys
1) asciidoc 2) autoconf 3) autoconf2.13 4) autogen 5) automake-wrapper
6) automake1.10 7) automake1.11 8) automake1.12 9) automake1.13
10) automake1.14 11) automake1.15 12) automake1.16 13) automake1.6
14) automake1.7 15) automake1.8 16) automake1.9 17) bison 18) btyacc
19) diffstat 20) diffutils 21) dos2unix 22) file 23) flex 24) gawk
25) gdb 26) gettext 27) gettext-devel 28) gperf 29) grep 30) groff
31) help2man 32) intltool 33) lemon 34) libtool 35) libunrar
36) libunrar-devel 37) m4 38) make 39) man-db 40) pacman
41) pactoys-git 42) patch 43) patchutils 44) perl 45) pkg-config
46) pkgfile 47) quilt 48) rcs 49) reflex 50) scons 51) sed 52) swig
53) texinfo 54) texinfo-tex 55) ttyrec 56) unrar 57) wget 58) xmlto
输入某个选择 ( 默认=全部选定 ):
算上MSYS2自带的gcc,现在系统内有两个gcc
$ find / -name gcc.exe
/mingw32/bin/gcc.exe
/usr/bin/gcc.exe
/bin/gcc.exe
因此需要设置环境变量,将我们新安装的i686目标的gcc设为当前开发工具链
$ export PATH=/mingw32/bin:$PATH
将目录切换到openssl源代码根目录,执行配置脚本
$ ./Configure mingw
Configuring OpenSSL version 3.0.0-alpha7-dev for target mingw
Using os-specific seed configuration
Creating configdata.pm
Running configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
配置结束后,我们执行make开始构建
生成的openssl程序与库都在app目录中
上一篇: 解决Could NOT find Boost (missing: log filesystem) (found version “1.76.0“)
下一篇: Windows下的新玩具 MSYS
推荐阅读
-
mingw环境编译openssl 3.0
-
Cocos2dx3.0环境搭建并编译APK
-
Centos7 交叉编译Arm环境(海思3559A平台)下的openssl-1.0.2r
-
Windows系统使用mingw编译环境
-
利用openssl管理证书及SSL编程第3部分:将MinGW编译的openssl dll导出def和lib供MSVC使用...
-
Cocos2dx3.0环境搭建并编译APK
-
Linux-CentOS环境下Nginx源码编译安装产生错误缺失PCRE、OpenSSL、zlib库的问题解决
-
Windows10 环境下使用 Cmake 和 MinGW-w64 编译安装 OpenCV 4.0.1
-
windows10 vscode 构建最强大的 Mingw C++ gcc 编译环境