Windows下编译OpenSSL(使用VS2013或VS2008)

news/2025/1/14 5:25:39/

转自https://www.cnblogs.com/findumars/p/4299976.html

简述

OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法。对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题。下面主要讲述如何在Windows上编译OpenSSL库。

 

步骤

  1. 在微软网站下载并安装Visual Studio,我用的是2013版。
     
  2. 下载并安装ActivePerl。
    下载地址:http://www.activestate.com/activeperl/downloads
    打开命令提示符,将其定位到D:\Program Files\Perl\eg目录下,执行 perl example.pl,若提示:Hello from ActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。
     
  3. 下载并安装Nasm汇编器,并将D:\Program Files\NASM添加到系统环境变量Path中。
    下载地址:http://www.nasm.us/ 
     
  4. 下载并安装OpenSSL。
    下载地址:http://www.openssl.org/。
    Github: https://github.com/openssl/openssl
  5. 如果没安装VS (版本不低于VS2008),则需要先安装VS。我安装的是VS2012。
    然后添加Path环境变量: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin

在完成所有上述步骤,我们就可以解压缩OpenSSL包(解压至:E:\openssl-1.0.2h),在对它进行修改便可以编译了。解压后的目录中有两个文件INSTALL.W32、INSTALL.W64需要被关注。打开其中任何一个文件,你会看到如何编译OpenSSL的各个步骤。

 

  1. 将命令提示符定位到 E:\openssl-1.0.2h。
     
  2. 输入 perl Configure VC-WIN32 -perfix=E:\OpenSSL (将其安装到E:\OpenSSL)。



     
  3.  输入 ms\do_nasm 。

     
  4. 将命令提示符定位到 D:\Program Files\Microsoft Visual Studio 12.0\VC\bin, 然后输入 vcvars32.bat(如果没有这一步,会提示nmake不是内部或外部命令)。

     
  5. 再次将命令提示符定位到 E:\openssl-1.0.2h。
  6. 输入 nmake -f ms\ntdll.mak,执行完后会在openssl-1.0.2h目录下生成一个out32dll的文件夹,里面包含了一些静态库、动态库和.exe文件。
  7. 输入 nmake -f ms\ntdll.mak test,若最终显示passed all tests说明生成的库正确。

     
  8. 输入nmake -f ms\ntdll.mak install,则会在E:\OpenSSL目录下生成bin、include、lib、ssl四个文件夹。
     
  9. 64位编译:

    运行 configure:
    perl Configure VC-WIN64A 或 perl Configure debug-VC-WIN64A

    创建Makefile文件:注意路径中的斜线。
    ms\do_win64a

    编译动态库:
    nmake -f ms\ntdll.mak

    编译静态库:
    nmake -f ms\nt.mak
     
  10. 32位编译:

    运行configure:
    perl Configure VC-WIN32 或 perl Configure debug-VC-WIN32

    创建Makefile文件:注意路径中的斜线。
    ms\do_ms

    编译动态库:
    nmake -f ms\ntdll.mak

    编译静态库:
    nmake -f ms\nt.mak

 

注意:

  • 以上编译的是release库,若编译debug库,则将以上第2步中的VC-WIN32改成debug-VC-WIN32即可。

  • 若编译静态库,则用ms\nt.mak替换掉上面用到的ms\ntdll.mak即可。

  • 若生成不带汇编支持的库,则需将以上第2、3步用perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSLms\do_ms替换即可。

  • E:\openssl-1.0.2h\tmp32dll文件夹下包含相应的汇编文件。

按以上步骤操作能够成功编译。所用版本:openssl-1.0.1u

更多参考

  • OpenSSL简介及在Windows、Linux、Mac系统上的编译步骤
  • 如何在Windows下编译OpenSSL?

 原文链接: http://blog.csdn.net/liang19890820/article/details/51658574

http://www.cnblogs.com/yangyxd/p/6032450.html

 


http://www.ppmy.cn/news/357615.html

相关文章

CBSsport的NBA直播数据整理小结一下……

忘记了是几个月前的哪一天,我偶然发现CBS的直播数据是可以直接从html文件中获得出手点数据的,当时应该是一阵狂喜呢,那时候我还不知道该怎么搞定ESPN的xml数据…… 现在回头看以前处理过的CBS出手数据,不得不说很鸡肋。 处理后的…

再见邓肯!再见石佛!

轰轰烈烈地到来,安安静静的离开,这是最邓肯的方式。再见了运动男孩! 这一次,未来真的是你们的了,未来终究还是来了。北京时间7月11日晚上,马刺官方宣布,球队老将蒂姆-邓肯正式退役。NBA全明星球员,40岁的石佛,宣布结束自己的职业生…

python足球数据分析_我用Python对科比NBA生涯进行了一个数据分析

我是一个NBA的球迷,一直很喜欢科比的球风和“曼巴精神”,于是想写一篇文章看一下他的整个NBA生涯的数据情况是怎样的,这应该是一件有趣的事情。 使用工具:Ipython notebook 用到的库:Pandas,Matplotlib 1.数据来源 本次用到的数据来源于https…

NBA视频直播

CCTV5网上直播http://sports.cctv.com/29/index.shtml 转帖: 发表时间: 2008年10月06日 09时53分 评论/阅读(/) 本文地址: http://qzone.qq.com/blog/52452199-1223258032 和我一样喜欢篮球的兄弟:你好! 我…

机器学习预测nba_通过机器学习预测2020年NBA季后赛支架

机器学习预测nba Paul the Octopus was a short-lived (26 January 2008–26 October 2010) cephalopod kept at the Sea Life Centre in Oberhausen, Germany, who became instantly famous because of his alleged ability to predict the results of FIFA World Cup footbal…

滑雪hhh

滑雪 题目 给定一个 R 行 C 列的矩阵,表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。 当然,一个人能…

Chrome浏览器(油猴子)插件安装使用教程

油猴子说明文档 安装包: 链接:https://pan.baidu.com/s/1p2Sx5P99vP6eb3DIAoBOLQ?pwd6666 提取码:6666 浏览器安装油猴 文件到我的百度网盘可以直接获取(上面有) 安装教程 1.打开浏览器界面,点击右上方…

另一个伊甸专武,国际服用(手机随便做的,有点粗糙,见谅

紫央(刀哥 麦提 苏赛特(中二枪 抱歉已经真专了 阿佐美(风刀 杜娃 尤因(火锤 娜基(章鱼 拉克莱尔(水弓 伽琉 缪露斯(魔兽娘 还没打…… 伊丝卡(会长 谢奈(水剑 觉得挺好看 安娜贝尔 洛基德(土狗 玫丽娜(水锤 思琳(老…