VS2013编译OpenSSL
简述
OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法。对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题。下面主要讲述如何在Windows上编译OpenSSL库。
步骤
在微软网站下载并安装Visual Studio,我用的是2013版。
下载并安装ActivePerl。
下载地址:http://www.activestate.com/activeperl/downloads
我下载的是:5.22.1.2201 Windows Installer (MSI)打开命令提示符,将其定位到
D:\Program Files\Perl\eg目录下,执行perl example.pl,若提示:Hello from ActivePerl!则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。下载并安装Nasm汇编器,并将
D:\Program Files\NASM添加到系统环境变量Path中。
下载地址:http://www.nasm.us/ 。
我下载的是:nasm-2.12.01-installer-x86.exe。下载并安装OpenSSL。
下载地址:http://www.openssl.org/。
我下载的是:openssl-1.0.2h.tar.gz (SHA256) (PGP sign) (SHA1)
在完成所有上述步骤,我们就可以解压缩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四个文件夹。
注意:
以上编译的是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/u011012932/article/details/51658574
VS2013编译OpenSSL的更多相关文章
- windows环境下VS2013编译openSSL
openssl版本:1.0.2h 编译器:MSVC (VS2013) 需要准备工具:perl. windows环境的perl下载请戳这里:http://www.activestate.com/acti ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- VS2013中编译openssl的步骤和使用设置
一.VS2013中编译openssl的步骤 版本号:openssl-1.0.1e 1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目 ...
- VS2013编译64位OpenSSL(附32位)
安装ActivePerl 这个没什么好说的,直接运行msi即可. 编译OpenSSL 1.使用Visual Studio Tool中的“VS2013 x64 本机工具命令提示”来打开控制台:也可以打开 ...
- Windows下编译OpenSSL(使用VS2013)
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- VS2013编译google protobuf 出现问题error C3861: “min”:
问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\pro ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)
仅供参考. 体会:我个人此次编译不该使用Vs2013编译Qt. 使用以下程序: Qt : qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1.exe ...
随机推荐
- 使用Groovy构建自己的脚本环境
场景 在进行Web服务端开发的时候,发布前通常需要测试一遍.对于一个大一点的项目,最好的办法是写个自动化测试程序. 以Groovy为例,写测试代码之前通常的有如下几个操作 引用相关的类库 import ...
- Microsoft Dynamics CRM 2013 安装过程图解及安装序列号
Microsoft Dynamics CRM 2013 安装过程 图解 在安装前,先持一下SQL配置管理,将相关的服务打开.(由于在虚拟机里,许多服务需要时才会打开,像Reporting Serv ...
- 关于Liferay所有的能够进行自定义和扩展的东西的总结
非常超级什么有用的东西,amazing. 虽然不是宝宝写的. Fantastic Extension Points - And Where to Find Them
- LNMP系列网站零基础开发记录(一)
[目录] 扯淡吹逼之开发前奏 Django 开发环境搭建及配置 web 页面开发 Django app开发 Django 站点管理 Python 简易爬虫开发 Nginx&uWSGI 服务器配 ...
- android开发实现静默安装(root权限)
方式是将应用设置为内置的系统应用,注意事system/app目录下面,采用copy2SystemApp()方法就可以,注意chmod 777的权限,若是直接将apk拷贝到system/app目录,没有 ...
- 【转载】Android异步处理系列文章
本博文地址:http://blog.csdn.net/mylzc/article/details/6777767 转载请注明出处. 为了给用户带来良好的交互体验,在Android应用的开发过程中需要把 ...
- 【BZOJ】【3442】学习小组
网络流/费用流 orz zyf 裸的费用流,根据题目描述即可建出如下的图: S->i 费用表示每有一个加入第 i 个小组的学生,需要花的钱,由于是跟流量(人数)的二次方相关,所以要拆边……然后每 ...
- myeclipse 反编译插件 jad 安装
1. 准备工作 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip 下载jadeclipse插 ...
- C#中Config文件中,特殊符号的书写方法。
App.config: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration& ...
- vs2010把项目资源打包成系统资源
把wav格式的音频做成系统资源,根据条件播放相应的音频 System.Media.SoundPlayer spOne = new System.Media.SoundPlayer(); ...