近期工作中使用到了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. luogu1890 gcd区间

    题目大意:给定一行n个正整数a[1]..a[n].m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 因为gcd满足交换律和结合律,所以用线段树维护区间上的gcd值即可. ...

  2. IJKPlayer问题集锦之不定时更新

    1.IJKPlayer 不像系统播放器会给你旋转视频角度,所以你需要通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED去获取 ...

  3. UVa 11722(几何概率)

    题意:你和你的朋友要乘坐火车,并且都会在A城市相遇,你会在(t1,t2)中的任意时刻以相同的概率密度到达, 你朋友会在(s1,s2)中的任意时刻以相同的概率密度到达,你们的火车在A城市都会停留w分钟, ...

  4. 【POJ 1830】 开关问题

    [题目链接] http://poj.org/problem?id=1830 [算法] 列出异或方程组,用高斯消元求解 [代码] #include <algorithm> #include ...

  5. systemd实践: 依据情况自动重启服务

    systemd服务异常自动重启很好用,但有的时候希望某些服务只在特定情况下进行重启,其他时候不要自动重启(比如OOM,需要人工介入). 本文抛砖引玉,旨在能够让读者对systemd的重启机制有一定了解 ...

  6. 访问修饰符相关注意点(protected子类友好)

    注意:protected表示只有在子类和同包中可以访问. 需要注意的是,在其他包中,若是创建了父类的对象,但是父类对象访问不了自己类里面用protected修饰的属性,只能由子类访问父类的protec ...

  7. 使用纯 CSS 实现 Google Photos 照片列表布局

    文章太长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读的同学可以直接跳到最后一个大标题之后看代码.demo及原理就好,或者也可以直接看下面这个链接的源代码. 不过还是建议顺序读下去,因为后 ...

  8. 利用a链接发送电子邮件

    实例代码: <a href="mailto:name1@rapidtables.com?cc=name2@rapidtables.com&subject=你好%20我是&quo ...

  9. nodeJs的一些常识知识

    在项目目录中打开命令窗口 1. npm init 生成一个 package.json.(npm inii -y 直接生成,不用确定). 2.npm i . 下载 package.json devDep ...

  10. Centos 7 安装图形化界面

    Centos 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方便我们使用,这里介绍一下 CentOS7安装图形化桌面系统的方法. 一. ...