windows下openssl1.1.1m编译经验


第一步、准备编译环境

1、安装vs2008。
2、安装perl
https://www.perl.org/
3、namke
装了vs一般就要了nmake,如果找不到就手动把它添加到环境变量。

第二步、配置编译选项

这里是windows下使用vs2008编译,不使用汇编编译:
编译win32,release版本,以下内容可以复制张贴到某bat文件中,修改相关路径后双击运行(最好使用管理员运行),执行编译。

SET VSCMD="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
SET SRCDIR="E:\thirdparty\openssl-1.1.1m"
SET DSTDIR="E:\thirdparty\openssl-1.1.1m\build"
call %VSCMD%
cd /d %SRCDIR%
nmake clean
Perl Configure VC-WIN32 no-asm --prefix=%DSTDIR%  zlib --with-zlib-include=E:\thirdparty\zlib-1.2.11\build\include --with-zlib-lib=E:\thirdparty\zlib-1.2.11\build\lib\x86\Release\zlibstat.lib
nmake
nmake install
nmake test
pause

下面是每一行介绍:
1、SET VSCMD="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
表示设置VSCMD临时环境变量,值是vs2008的x86命令行环境设置脚本vcvars32.bat的路径。
可以换成其他版本的vs,至于vcvars32.bat可以直接在安装目录中搜索该文件或者通过vs的命令行工具找到其路径。
2、SET SRCDIR="E:\thirdparty\openssl-1.1.1m"
表示设置SRCDIR临时环境变量,值是openssl1.1.1m源码路径。
3、SET DSTDIR="E:\thirdparty\openssl-1.1.1m\build"
表示设置DSTDIR临时环境变量,值是编译文件安装路径。
4、call %VSCMD%
调用环境设置批处理
5、cd /d %SRCDIR%
切换到openssl源码路径
6、nmake clean
清除以前的编译文件
7、Perl Configure VC-WIN32 no-asm --prefix=%DSTDIR% zlib --with-zlib-include=E:\thirdparty\zlib-1.2.11\build\include --with-zlib-lib=E:\thirdparty\zlib-1.2.11\build\lib\x86\Release\zlibstat.lib
使用Perl项目配置工具配置编译配置选项,生成makefile文件;zlib表示添加zlib库;–with-zlib-include表示zlib的头文件路径;–with-zlib-lib表示zlib的库文件路径,这里使用了静态库;–prefix表示安装路径;VC-WIN32表示编译x86版本
8、nmake
相当于默认执行了nmake -f makefile命令。
9、nmake install
复制编译后的dll和include等文件到前面设置的安装目录,这里只会复制动态库。
10、nmake test
测试。
11、pause
让控制台窗口停留,可以看到所有编译日志。
下面是x64的编译配置:

SET VSCMD="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat"
SET SRCDIR="E:\thirdparty\openssl-1.1.1m"
SET DSTDIR="E:\thirdparty\openssl-1.1.1m\build\x64"

call %VSCMD%
cd /d %SRCDIR%

nmake clean
Perl Configure VC-WIN64A no-asm --prefix=%DSTDIR%  zlib --with-zlib-include=E:\thirdparty\zlib-1.2.11\build\include --with-zlib-lib=E:\thirdparty\zlib-1.2.11\build\lib\x64\Release\zlibstat.lib
nmake
nmake install
nmake test
pause

编译选项的修改:
上面的不管x86还是x64都是根据实际需要进行的配置,可以增删进行修改,其中:

1、no-asm表示不使用汇编,其实使用汇编可以加快加密解密效率,有兴趣的可以去掉,但是需要安装汇编编译器,我知道的就是安装一个nasm汇编编译器,具体安装方法自行搜索,可用nasm -v命令查看是否安装成功。

2、VC-WIN32为编译32位版本,可以改为其他版本如:
{ VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE }
加debug-为编译debug版本,如debug-VC-WIN32。
编译64版本一般使用 VC-WIN64A,其他的我也不懂。
3、编译会生成静态库,没有生成到install目录下,在源码目录中,名字加-static的就是。

总结

以上编译方法是自己编译过程中所总结,仅做参考。另编译文件真实可用,若使用中发现有缺陷请自行校验源码,本文概不负责。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值