• Windows环境下使用VS2005编译OpenSSL


    如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu、Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路。注:我是在WinXP SP3下使用VS2005SP1下编译成功的,OpenSSL的版本是0.9.8l。

    http://www.cnblogs.com/moonset7/archive/2009/12/18/1627317.html by 月落上弦

    一、编译OpenSSL 

    准备工作:
    下载OpenSSL源码  官方网站下载OpenSSL:http://www.openssl.org/source/
    安装ActivePerl     官方网站下载ActivePerl:http://www.activestate.com/activeperl/

    编译步骤:
    1. 使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式
      开始菜单->所有程序->Microsoft->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 Command Prompt
    2. 进入openssl源码的目录
      命令行键入 cd D:openssl-0.9.8l  //把路径替换成自己的源码路径
    3. 命令行键入 perl configure VC-WIN32
      如果没安装ActivePerl将无法执行
    4. 命令行键入 msdo_ms
       这中间我遇到了两处报告%OSVERSION% is not defined at util/pl/VC-32.pl line 57.和Compilation failed in require at utilmk1mf.pl line 151. 好像可以忽略,反正我最后还是编译成功了。

    命令行信息

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

      到此编译已经完成,将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

    编译OpenSSL可能遇到的问题:
    1. 启用Windows控制台(运行cmd)进行编译,执行第5步nmake -f ms tdll.mak或nmake -f ms t.mak会报错:
      'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。
    2. 启用SDK Command Prompt进行编译,执行第5步nmake -f ms tdll.mak或nmake -f ms t.mak会报错:
      msuplink.c(11) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
      NMAKE : fatal error U1077: '"D:Program FilesMicrosoft Visual Studio 8VCincl.EXE"' : return code '0x2' Stop.

    上述问题解决方案:
    1. 严格按第1步操作,启动Visual Studio 2005 Command Prompt进行编译,这个会自动配置环境。
    2. 在执行第5步nmake -f ms tdll.mak前,进入D:Program FilesMicrosoft Visual Studio 8VCin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录 (D:openssl-0.9.8l),再执行第5步nmake -f ms tdll.mak或nmake -f ms t.mak

    二、使用OpenSSL
        在VC中配置使用以上的函数库:
        点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。
        在"Show directories for:"的"Include files"选项中新增目录"C:opensslinclude";"Library files"选择中新增目录"C:openssllib"。
        然后在需要链接OpenSSL函数库的工程中编译时加入"libeay32.lib"就可以了。

    建立工程

    打开vs2005,

    在additionalinclude directories加上

    "C:openssl-0.9.8ginclude"

    这个目录.

     

    在additionallibrary directories加上

    "C:openssl-0.9.8gout32dll"

    这个目录

  • 相关阅读:
    传统线程互斥和同步通信
    【计算机视觉】人脸表情识别技术
    【计算机视觉】人脸识别--人脸识别技术综述
    【计算机视觉】人脸识别--人脸识别技术综述
    【计算机视觉】人脸识别之人脸对齐(一)--定义及作用
    【计算机视觉】人脸识别之人脸对齐(一)--定义及作用
    【神经网络与深度学习】转-caffe安装吐血总结
    【神经网络与深度学习】转-caffe安装吐血总结
    【图像处理与医学图像处理】YUV与RGB格式转换速度几种方法对比
    【图像处理与医学图像处理】YUV与RGB格式转换速度几种方法对比
  • 原文地址:https://www.cnblogs.com/xunbu7/p/4020021.html
Copyright © 2020-2023  润新知