近期工作中使用到了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位)的更多相关文章

  1. 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 ...

  2. Windows Server 2003 SP2 R2 企业版/标准版/32与64位 CD-KEY

    微软发布Windows Server 2003 R2版的目的是希望透过它填补Windows Server 2003 SP1和Longhorn Server之间的产品发布时间间隔.所以Windows S ...

  3. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  4. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  5. windows 如何编译 Openssl ?

    windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...

  6. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  7. Windows下编译OpenSSL(使用VS2013)

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  8. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  9. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)

    阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的 ...

随机推荐

  1. MySQL出现Ignoring query to other database的问题

    今天使用mysql的时候,输入随意一条命令都会出: Ignoring query to other database 这条错误信息,非常是奇怪. 后来才发现是登录数据库时.少了个-u的參数.. 正确的 ...

  2. luogu1072 Hankson的趣味题

    题目大意 给出数a0, a1, b0, b1,求满足gcd(a0, x)=a1, lcm(b0, x)=b1的x的个数 解法一 枚举b1的因数,看看是否满足上述条件. 怎样枚举因数 试除法.对于1~s ...

  3. 【BZOJ1597】【Usaco2008 Mar】土地购买 斜率优化DP

    题目: 题目在这里 思路与做法: 这题如果想要直接dp的话不太好处理. 不过, 我们发现如果\(a[i].x>=a[j].x\)且\(a[i].y>=a[j].y\) \((\)a是输入的 ...

  4. 阿里云 linux centos 常用解压命令

    格式:  tar  选项  文件目录列表     功能:  对文件目录进行打包备份     选项: -c 建立新的归档文件 -r 向归档文件末尾追加文件 -x 从归档文件中解出文件 -O 将文件解开到 ...

  5. C#中DBNull问题

    当数据库中一个字段不是必填项时,在往数据库中插入数据的时候往往会插入一个空字符串就草草了事了.在这里用DBNull可以解决这个问题 /// <summary> /// 插入数据 /// & ...

  6. winfrom窗体属性

  7. 第十课: - 读取/写入Excel/Json格式数据

    第 10 课 从DataFrame到Excel 从Excel到DataFrame 从DataFrame到JSON 从JSON到DataFrame In [1]: import pandas as pd ...

  8. Android PopupWindow使用方法小结

    前几天要用到PopupWindow,一时竟想不起来怎么用,赶紧上网查了查,自己写了个demo,并在此记录一下PopupWindow的用法. 使用场景 PopupWindow,顾名思义,就是弹窗,在很多 ...

  9. MySQL 5.6 Reference Manual-14.2 InnoDB Concepts and Architecture

    14.2 InnoDB Concepts and Architecture 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB Multi-Versioning ...

  10. dotnetnuke7.3.3 下弹出对话框(dnnConfirm())的使用

    今天用dnn做一个列表里边有一个删除操作,就想做个对话框确定是否删除? 正常理解马上想到js的confirm("")函数,但是发现Dnn把这个函数给重写啦,弹出的对话框竟然是英文的 ...