zoukankan      html  css  js  c++  java
  • Windows下编译OpenSSL(使用VS2013)

    简述

    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 FilesPerleg目录下,执行 perl example.pl,若提示:Hello from ActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。

    3. 下载并安装Nasm汇编器,并将D:Program FilesNASM添加到系统环境变量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.0VCin

    在完成所有上述步骤,我们就可以解压缩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.  输入 msdo_nasm 。


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


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


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

    9. 64位编译:

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

      创建Makefile文件:注意路径中的斜线。
      msdo_win64a

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

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

    10. 32位编译:

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

      创建Makefile文件:注意路径中的斜线。
      msdo_ms

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

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

    注意:

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

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

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

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

    更多参考

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

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

  • 相关阅读:
    qt install (1)
    learning rewind func
    learning strrchr func
    learning memchr func
    git lfs setpu(4)
    大端与小端
    git branch/meger step(3)
    git log/show/HEAD step(2)
    调用外部EXE文件
    获取计算机上的所有进程
  • 原文地址:https://www.cnblogs.com/findumars/p/4299976.html
Copyright © 2011-2022 走看看