windows编译openssl xp版本

Windows编译Openssl(1.1.1) xp版

1. Openssl源码下载

openssl下载

2 . 安装Perl

ActivePerl下载
下载完再终端输入perl -v验证是否安装成功

3. 安装Nasm

nasm下载
下载完成之后检查nasm路径是否有添加到环境变量path中, 如果没有将nasm安装目录添加到path中,在终端输入nasm验证是否设置成功

4. Openssl xp版编译

4.1 打开Visual Studio xxx xxx命令提示

从开始里找到vs的命令提示, 比如VS2015 x86...(再这里打开的VS命令行环境一定要和你需要编译的openssl版本一致,比如想要编译openssl 32位版,就应该打开VS2015 x86)

4.2 跳转到Openssl源码目录

从之前打开的命令行工具的终端跳转到你保存的Openssl源码目录

4.3 利用Perl生成Makefile文件
perl configure debug-VC-WIN32 -no_shared --prefix=D:\OpenSSL\Debug\win32
  • debug 表示编译出来的版本位debug版,如果需要release,去除debug就好了
  • VC-WIN32 表示编译出来的程序时32位的(x86), 64位程序使用-VS_WIN64A(这里的A代表AMD64), 还有一个VC-WIN64I(代表IA64)
  • no_shared 表示编译静态库,如果需要编译动态库,去掉此选项
  • –prefix后面跟的是编译完成保存的目录
4.4 修改Makeifile或者源代码使其支持XP

有两种方法可以让Openssl编译出来的程序支持XP,第一种是修改makefile文件再LIB_CPPFLAGS中加上_WIN32_WINNT=0x502

LIB_CPPFLAGS=-D"_WIN32_WINNT=0x502" #后面是源码就有的宏定义...

第二种方法是将crypto/rand/rand_win.c 中第22行开始注释掉, 就是下面三行注释掉

# if defined(_MSC_VER) && defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600
#  define USE_BCRYPTGENRANDOM
# endif
利用nmake编译openssl

再刚刚的终端中输入nmake,敲回车

> nmake

再进行编译时可以出现一种错误"rc 不是可执行命令",用everything搜索rc.exe进入到对应的版本的rc.exe目录,将这个目录加入到环境变量path中( 我这里RC.exe选择的是C:\Program Files (x86)\Windows Kits\8.1\bin\x86

等nmake执行完,敲nmake install

> nmake install

如果需要重新编译时一定要执行一遍nmake clean

> nmake clean

到现在就已经编译完成再输出目录可以看到编译结果了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值