Windows下编译OpenSSL(使用VS2013)
简述
OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法。对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题。下面主要讲述如何在Windows上编译OpenSSL库。
步骤
- 在微软网站下载并安装Visual Studio,我用的是2013版。
- 下载并安装ActivePerl。
下载地址:http://www.activestate.com/activeperl/downloads
打开命令提示符,将其定位到D:\Program Files\Perl\eg目录下,执行 perl example.pl,若提示:Hello from ActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。 - 下载并安装Nasm汇编器,并将D:\Program Files\NASM添加到系统环境变量Path中。
下载地址:http://www.nasm.us/ - 下载并安装OpenSSL。
下载地址:http://www.openssl.org/。
Github: https://github.com/openssl/openssl - 如果没安装VS (版本不低于VS2008),则需要先安装VS。我安装的是VS2012。
然后添加Path环境变量: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
在完成所有上述步骤,我们就可以解压缩OpenSSL包(解压至:E:\openssl-1.0.2h),在对它进行修改便可以编译了。解压后的目录中有两个文件INSTALL.W32、INSTALL.W64需要被关注。打开其中任何一个文件,你会看到如何编译OpenSSL的各个步骤。
- 将命令提示符定位到 E:\openssl-1.0.2h。
- 输入 perl Configure VC-WIN32 --perfix=E:\OpenSSL (将其安装到E:\OpenSSL)。

- 输入 ms\do_nasm 。

- 将命令提示符定位到 D:\Program Files\Microsoft Visual Studio 12.0\VC\bin, 然后输入 vcvars32.bat(如果没有这一步,会提示nmake不是内部或外部命令)。

- 再次将命令提示符定位到 E:\openssl-1.0.2h。
- 输入 nmake -f ms\ntdll.mak,执行完后会在openssl-1.0.2h目录下生成一个out32dll的文件夹,里面包含了一些静态库、动态库和.exe文件。
- 输入 nmake -f ms\ntdll.mak test,若最终显示passed all tests说明生成的库正确。

- 输入nmake -f ms\ntdll.mak install,则会在E:\OpenSSL目录下生成bin、include、lib、ssl四个文件夹。
- 64位编译:
运行 configure:
perl Configure VC-WIN64A 或 perl Configure debug-VC-WIN64A创建Makefile文件:注意路径中的斜线。
ms\do_win64a编译动态库:
nmake -f ms\ntdll.mak编译静态库:
nmake -f ms\nt.mak - 32位编译:
运行configure:
perl Configure VC-WIN32 或 perl Configure debug-VC-WIN32创建Makefile文件:注意路径中的斜线。
ms\do_ms编译动态库:
nmake -f ms\ntdll.mak编译静态库:
nmake -f ms\nt.mak
注意:
以上编译的是release库,若编译debug库,则将以上第2步中的
VC-WIN32改成debug-VC-WIN32即可。若编译静态库,则用
ms\nt.mak替换掉上面用到的ms\ntdll.mak即可。若生成不带汇编支持的库,则需将以上第2、3步用
perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL和ms\do_ms替换即可。在
E:\openssl-1.0.2h\tmp32dll文件夹下包含相应的汇编文件。
更多参考
原文链接: http://blog.csdn.net/liang19890820/article/details/51658574
http://www.cnblogs.com/yangyxd/p/6032450.html
Windows下编译OpenSSL(使用VS2013)的更多相关文章
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- windows下编译nginx+nginx_rtmp_modue(vs2013)
阅读官方编译windows版本的方法 http://nginx.org/en/docs/howto_build_on_win32.html 我的环境 Windows 7 Ultimate 64,Vis ...
- Windows下编译openssl
依赖工具: 1.VS 2.perl 编译方法: release: :\> 切换到openssl目录 :\> perl Configure VC-WIN32 no-asm --prefix= ...
- Windows下安装OpenSSL及其使用
方法一: Windows binaries can be found here: http://www.slproweb.com/products/Win32OpenSSL.html You can ...
- 在Windows下编译WebRTC
前言 这篇文章的目的在于为你节省生命中宝贵的10小时(甚至更多),或者浪费你10分钟.作为Google更新频繁的大型跨平台基础库,WebRTC的编译一直被人称为噩梦.如果恰巧你偏要在Windows下编 ...
- Windows下编译 Hadoop
Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...
- windows下编译配置libnet-1.2-rc3
1.下载winpcap(一个底层驱动,可以嗅探.过滤网卡数据包,发包).exe安装包,傻瓜一步式安装 2.下载WpdPack_4_1_2,这个是winpcap的开发者包,解压之后只需要配置相关路径. ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
随机推荐
- 推荐《机器学习实战:基于Scikit-Learn和TensorFlow》高清中英文PDF+源代码
探索机器学习,使用Scikit-Learn全程跟踪一个机器学习项目的例子:探索各种训练模型:使用TensorFlow库构建和训练神经网络,深入神经网络架构,包括卷积神经网络.循环神经网络和深度强化学习 ...
- 【RHEL7/CentOS7服务控制之systemctl命令】
Systemd对于Linux来说,就是一个init程序,可以作为sysVinit和Upstat的替代. RHEL7监控和控制Systemd的主要命令是systemctl,该命令可查看系统状态和管理系统 ...
- JAVA工程命名规范
Java推荐的包声明命名约定是反向域名. 例如 - com.abysm.myproject
- NYOJ 203 三国志(Dijkstra+贪心)
三国志 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描写叙述 <三国志>是一款非常经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.如今他把游戏简化一下 ...
- C#中函数的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- php输出杨辉三角
php输出杨辉三角 一.截图 二.代码 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 使用PHP中的curl发送请求
使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 初始化连接句柄: 设置CURL选项: 执行并获取结果: 释放VURL连接句柄. 下面的程序片段是 ...
- python2 python3 m2crypto 安装(rsa 私钥文件加密)
转自作者:大道至简_Andy 原文链接:https://www.jianshu.com/p/b308357ef649 第一种方式:使用apt-get(以Python2版本进行测试的) sudo apt ...
- [Express] Upload Files with Express
In this lesson we create a new Express web server app for handling file uploads and persisting them ...
- ios学习之block初探
1. block概念 block是ios4.0+和Mac osX 10.6以后引进的对C语言的拓展,用来实现匿名函数的特性.所谓匿名函数,也称闭包函数.即同意创建一个暂时的没有指定名称的函数. 最经经 ...