Windows平台编译openssl-0.9.8k库(32位64位)

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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位)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Apache 2.2.9 中使用 mod_ssl 将 openssl 0.9.8 升级到 1.0.2

Windows 7 下如何配置PHP网站运行环境

openssl编译出错,真心快崩溃了。。。求解答

移植Openssh到开发板

如何编译搭建php7+nginx+mysql

怎么搭建php环境Apache+PHP+mysql