mingw编译openssl
作者:互联网
首先你得装好mingw及msys1.0
用mingw-get.exe,哪里熟悉点哪里
mingw停止更新已久,编译openssl1.1.1l的时候,./configure 居然说需要perl 5.10及以上版本,于是着手替换mingw旧的perl
download from https://jaist.dl.sourceforge.net/project/perl-mingw/5.24.0/perl-5.24.0-mingw32.zip
unzip 将 perl5.24.0移动到 msys/1.0/bin下,PATH环境变量中将 /bin/perl5.24.0/bin放到 /bin前面就可以,集体操作:编辑msys/1.0/etc/profile,做如下修改
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/mingw/bin:/bin/perl5.24/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin/perl5.24/bin:/bin:/mingw/bin:$PATH"
fi
然后运行msys.bat ,运行 perl -verison
先弄zlib,已经有的可在后面的 configure 中加入 --with-zlib=/zlibdir, 每次都要弄zlib烦死了
下载zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
编辑 zlib-1.2.11\win32\Makefile.gcc, 再23行插入
INCLUDE_PATH=/home/mzy/zlib/win32/include
LIBRARY_PATH=/home/mzy/zlib/win32/lib
BINARY_PATH=/home/mzy/zlib/win32/bin
保存
cd zlib-1.2.11
make install -fwin32/Makefile.gcc SHARED_MODE=1
直接将 /home/mzy/zlib/win32/include 下头文件拷贝到D:\Dev\Env\mingw32\include
将 /home/mzy/zlib/win32/lib 下文件拷贝到D:\Dev\Env\mingw32\lib
将 /home/mzy/zlib/win32/bin/zlib1.dll 拷贝到D:\Dev\Env\mingw32\bin替换,1.2.11兼容1.2.8的,不放心可先备份老的zlib1.dll
开始编译吧,将openssl-1.1.1l.tar.gz拷贝到 ......\mingw32\msys\1.0\home\xxx 下
在上面的msys命令行
cd ~
tar -zxvf openssl-1.1.1l.tar.gz
cd cd openssl-1.1.1l
./configure mingw zlib --prefix=/home/mzy/openssl/win32 --openssldir=/home/mzy/ssl/win32
修改Makefile
找到CFLAGS 追加 -DWINVER=0x0501 -D_WIN32_WINNT=0x0501
找到PERL,路径加个\
PERL=D:\\Dev\\Env\\mingw32\\msys\\1.0\\bin\\perl\\bin\\perl.exe
再 openssl-1.1.1l\e_os.h 155行插入
# include <winerror.h>
再 apps\apps.c 2122行同样插入
# include <winerror.h>
然后
make
make install
编译64位的就简单多了,毕竟mingw64 和msys2 有人更新
标签:bin,zlib,openssl,win32,编译,mingw,PATH,home 来源: https://blog.csdn.net/mzr122/article/details/121507857