Windows平台编译openssl-0.9.8k库(32位、64位)
近期工作中使用到了openssl的win64位资料,所以进行前期调研,汇总结果例如以下:
【注意】openssl代码所在文件夹中不要带中文,否则“nmake -f ms\ntdll.mak ”可能会提示“宏中非法字符”等错误
一、Openssl WIN7 x64 编译
环境:WIN7 64位。编译器:VS2010
须要下载 Perl(如http://downloads.activestate.com/ActivePerl/releases/5.16.3.1603/ActivePerl-5.16.3.1603-MSWin32-x64-296746.msi)和
Microsoft Platform SDK(VS2005或VS2010)
0.进入cmd,运行 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
#拷贝 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\ml64.exe 到ms文件夹下(假设ml64.exe已经有了,就不须要拷贝)
1.启动VS2010的控制台,可以配置相关的环境变量——(可省略)
2.进入opensll文件夹,如cd C:\openssl-0.9.8k
3.x64的编译命令:
> perl Configure VC-WIN64A
> ms\do_win64a 创建Makefile文件
> nmake -f ms\ntdll.mak 编译动态库(等待时间较长)
> nmake -f ms\ntdll.mak test 检查上一步编译是否成功
> nmake -f ms\ntdll.mak install 安装编译后的openssl到指定文件夹
可选指令
> nmake -f ms\ntdll.mak clean 清除上次OpenSSL动态库的编译(依据须要,选择是否编译静态库)
> nmake -f ms\nt.mak 编译静态库(依据须要,选择是否编译静态库)
> nmake -f ms\nt.mak clean 清除上次OpenSSL静态库的编译(依据须要,选择是否编译静态库)
二、在windows下编译openssl(32位)
环境:WIN7 64位,编译器:VS2010
须要下载 Perl(如http://downloads.activestate.com/ActivePerl/releases/5.16.3.1603/ActivePerl-5.16.3.1603-MSWin32-x64-296746.msi)和
Microsoft Platform SDK(VS2005或VS2010)
0.进入cmd,运行 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
#拷贝 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\ml.exe 到ms文件夹下(假设ml.exe已经有了,就不须要拷贝)
1.启动VS2010的控制台,可以配置相关的环境变量——(可省略)
2.进入opensll文件夹。如cd C:\openssl-0.9.8k
3.x86的编译命令:
> perl Configure VC-WIN32
创建Makefile文件
如用masm,执行ms\do_masm命令
如用nasm, 执行ms\do_nasm
假设什么都没用,执行ms\do_ms
> nmake -f ms\ntdll.mak 编译动态库(等待时间较长)
> nmake -f ms\ntdll.mak test 检查上一步编译是否成功
> nmake -f ms\ntdll.mak install 安装编译后的openssl到指定文件夹
可选指令
> nmake -f ms\ntdll.mak clean 清除上次OpenSSL动态库的编译(依据须要,选择是否编译静态库)
> nmake -f ms\nt.mak 编译静态库(依据须要,选择是否编译静态库)
> nmake -f ms\nt.mak clean 清除上次OpenSSL静态库的编译(依据须要。选择是否编译静态库)
Windows平台编译openssl-0.9.8k库(32位、64位)的更多相关文章
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...
- Windows Server 2003 SP2 R2 企业版/标准版/32与64位 CD-KEY
微软发布Windows Server 2003 R2版的目的是希望透过它填补Windows Server 2003 SP1和Longhorn Server之间的产品发布时间间隔.所以Windows S ...
- [转] 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 如何编译 Openssl ?
windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...
- 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl
利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...
- Windows下编译OpenSSL(使用VS2013)
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)
阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的 ...
随机推荐
- h5-6 canvas
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Jenkins project
1.project name 这个作为git clone的target folder 2.Multiple SCMs 建立2个git类型的操作,相互独立. additional Behaviors 设 ...
- spark 决策树分类算法demo
分类(Classification) 下面的例子说明了怎样导入LIBSVM 数据文件,解析成RDD[LabeledPoint],然后使用决策树进行分类.GINI不纯度作为不纯度衡量标准并且树的最大深度 ...
- curl ,post,get (原创)
curl get: 1)直接输出 $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,"http://testopen.api.yaolan.com/a ...
- GObject调用父类函数
最近在分析Gstreamer的代码时,发现GstPipeline中有如下代码: result = GST_ELEMENT_CLASS (parent_class)->change_state ( ...
- Unity3d transform
using UnityEngine; using System.Collections; public class transform : MonoBehaviour { // Use this fo ...
- hiho一下 第172周
题目1 : Matrix Sum 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 You are given an N × N matrix. At the beginn ...
- 数据结构——栈的实现(数组、Java)
巩固数据结构 栈是一种有限制的线性表 只能对表尾进行操作 package com.shine.test.datastruct; import java.util.Arrays; public clas ...
- Types in Javascript(jQuery)
String: 空字符串等于Boolean的false; htmlString: 包括起始tag和结束tag的字符串,代表html代码: Number:双精度64位,跟string一样属于immuta ...
- 用python(2.7)自定义实现SQL的集合操作
有的时候需要在不同的数据库实例之间做集合操作,这就无法直接使用SQL语句的join,left join了.相同类型的数据库之间虽然也有类似于DBLINK和FEDERATED之类的东西,但一来这些东西不 ...