zoukankan      html  css  js  c++  java
  • Win7下安装openssl

     

    安装环境:

    操作系统:window7(64位)

    C++编译器:VS2012

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    工具下载:

    下载ActivePerl-5.16.3.1604(其他版本也可以):

    下载地址:http://www.activestate.com/activeperl/downloads/      (安装过程只要按照Windows下一般程序的安装步骤进行即可)

    下载openssl-1.0.1g(其他版本也可以)并解压

    下载地址:http://www.openssl.org/source/(建议解压后的文件路径为C:openssl,PS:只是为了下文的内容匹配,并且方便寻找,其他路径也无不影响)。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    安装Perl

    (我的安装目录为C:Perl64)

    运行”CMD“命令,使用cd命令将运行目录指向perl安装目录的eg文件夹, 执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。

    (PS:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W32和INSTALL.W64,用记事本方式打开,你可以看到详细的关于安装的解释)

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    安装openssl

    (最关键的步骤来了)

    1)首先设定好环境变量,这步参照网上的教程后发现后面的编译步骤不成功,找了很就才发现是这部设置的不对才导致的。

    设定环境变量:桌面计算机图标右键->属性->高级系统设置->环境变量->在系统变量当中找到变量名称为path的变量(如果没有找到这新建)点击编辑->在变量名称中填入"C:Program Files (x86)Microsoft Visual Studio 11.0VCin;C:Perl64in;c:windowssystem32"->点击确定完成设定。(说明:C:Program Files (x86)Microsoft Visual Studio 11.0VCin路径是VS2012的路径。C:Perl64in是运行perl的路径,不若不设定那么perl命令将找不到。c:windowssystem32这个路径很少提到但是很重要,如果不设置那么会造成后面vcvars32.bat环境变量执行出错。)到此环境变量路径设置好之后重启下电脑才能生效。

    2)使用Visual Studio命令提示(2012)进入控制台模式

    开始菜单->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio命令提示(2012),(PS:以管理员身份运行), 使用cd命令将目录指向C:Program Files (x86)Microsoft Visual Studio 11.0VCin(PS:自己的VC安装路径), 命令行键入vcvars32,运行vcvars32.bat..完成后进入OpenSSL源码的目录(C:openssl)

    3)执行Configure命令(配置编译参数)(需将目录跳到OpenSSL源码目录下)

    在命令行中键入"perl configure VC-WIN32  no-asm --prefix=c:openssl"(PS:--prefix=c:openssl命令为指定安装位置)

    4)运行msdo_ms命令(需将目录跳到OpenSSL源码目录下)

    在命令行中键入”msdo_ms“。

    5)运行“nmake -f ms tdll.mak”命令进行代码编译(需将目录跳到OpenSSL源码目录下)

    编译分两种情况,生成静态库和动态库
      (1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms tdll.mak
        编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
      (2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms t.mak
        编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。

    6)测试使用命令“nmake -f ms tdll.mak test”(若安装成功则可以使用此命令来验证)

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    使用openssl

    当VS2012工程需要用到openssl库时,在包含目录中胎添加openssl安装目录的include目录, 来库目录中添加out32dll目录。

    或者将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。

    另外还有几个命令可能会用到:

      测试OpenSSL动态库:nmake -f ms tdll.mak test
      测试OpenSSL静态库:nmake -f ms t.mak test
      安装OpenSSL动态库:nmake -f ms tdll.mak install
      安装OpenSSL静态库:nmake -f ms t.mak install
      清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms tdll.mak clean
      清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms t.mak clean

    如果出现以下问题:

    cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函数 _OPENSSL_cpuid_setup 中被引用

    先:nmake -f ms tdll.mak clean,再编译

    参考博客:https://blog.csdn.net/zh516846937/article/details/40188065

    https://blog.csdn.net/xuebing1995/article/details/80004638?utm_source=blogxgwz6

    https://www.openssl.org/source/old/1.0.1/

  • 相关阅读:
    [经验栈]C#中几种定时器(timer)的区别
    [经验栈]C#与泰克示波器(Tektronix oscilloscope)MSO64通信操作
    [经验栈]C#监测IPv4v6网速及流量
    [技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码
    [技术栈]C#利用Luhn算法(模10算法)对IMEI校验
    [经验栈]SQL语句逻辑运算符"AND"、"&&"兼容性
    Winform或WebForm使用ReportViewer报表设计,工具栏按钮英文显示的解决办法
    Dev 使用RibbonForm打开多标签窗体,主窗体的Text显示一个
    Devexpress如何获取RadioGroup选中项的值和显示值
    MySQL远程连接失败,MySQL远程连接出现Using password:YES错误的解决办法
  • 原文地址:https://www.cnblogs.com/bigfi/p/10941917.html
Copyright © 2011-2022 走看看