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 有人更新

猜你喜欢

转载自blog.csdn.net/mzr122/article/details/121507857
今日推荐