[转]Windows平台编译OpenSSL详解

转载 2007年09月11日 16:48:00
下面这篇文章是转载自中国openssl专业论坛的DragonKing的文章。在文章之前我先说下在VC下使用openssl的一些问题。首先是提示找不到命令,这时应该在project-->setting-->link中加入你编译openssl生成的两个lib文件(最好将生成的lib与dll都加入VC的lib文件夹中)。
 
假如运行时出现无法定位文件序数问题,应该找到system32下和你得到的两个dll同名的dll,用新的覆盖,就可以了。
 
 

 
 
 
前几天,为了给大家提供新版本的openssl,又重新做了一次openssl的编译工作,并比较了几种编译方法,写这个文章简单介绍一下,希望对大家有帮助。
     我编译的版本是0.9.6h,编译器使用VC++6.0,根据它的说明,我进行了如下的命令和操作:
     1.安装ActivePerl-5.6.1.629-MSWin32-x86-multi-thread.顺利通过!
     2.打开控制台程序,在openssl解压后的目录下执行Perl Configure VC-WIN32命令,注意,一定要在这个目录下执行该命令,否则找不到Configure文件,当然,你也可以指定完整的Configure文件路径。顺利通过。
     3.根据openssl的帮助说明,在解压目录下执行ms/do_masm(和ms_/do_ms)命令,成功通过。
     4.配置VC环境变量,我在相同的控制台程序下转到VC所在目录下的vc98/bin目录,执行vcvars32批处理命令,设置VC的环境变量,然后再转到openssl解压包的根目录下。
     注意:我第一次运行Vcvars32的时候,报错,错误为:Out of environment space,这个错误的产生是因为你的MS-DOS环境变量没有分配足够的内存,这可以通过如下方法解决:
     a.点击开始, 点击运行.
     b.输入sysedit后回车运行该程序.
     c.然后会出现多个窗口,选择Config.sys窗口.
     d.如果存在Shell= 的语句, 在其前面输入 REM ,即注释该语句.
     e.如果该语句不存在,就直接输入SHELL=C:/COMMAND.COM /E:4096 /P ,注意,要保证该语句是从第一行第一个位置开始输入的。
     f.保存、退出重新启动电脑就应该可以解决这个问题。
     按上述方法解决这个问题之后,重新启动电脑后可以直接执行第4步。
     5.在openssl解压目录下执行nmake -f ms/ntdll.mak,如果没有错误,就完成编译了。输出的文件在out32dll里面,包括应用程序的可执行文件、两个Lib文件和两个dll文件。
    
     我根据openssl的说明,做了两种不通的编译,一直是加了ASM汇编语言编译器,一直是没有,即在第三步的时候执行do_masm或do_ms命令,时间上前者大概为3分钟(我的电脑配置是图拉丁塞杨1.2,内存256SDRM),后者大概是6分钟的样子。
     然后,我使用了第三方提供的一个编译方法,该方法自动配置了openssl各个模块的V虚拟C工程连接配置项目,然后再进行编译,速度很慢,用了至少20分钟以上的时间,但是好处是可以将一个一个项目弄的比较清楚,其编译过程我就不说了,大家可以参看相关的文档。
 

openssl编译&安装——Windows平台

编译前置条件: 1.在编译OpenSSL前,安装Perl。下载最新版本的Perl:http://www.activestate.com/activeperl/downloads 2.下载最新版...
  • cclongying1989
  • cclongying1989
  • 2012年10月15日 21:07
  • 405

Openssl Crypto 加/解密功能封装之一:进制转换

1、环境 OpenSSL 版本:openssl-0.9.8d 请确保系统存在环境变量 SSL_ROOT, $SSL_ROOT/lib 存在 crypto 库文件,$SSL_ROOT/lib 已加入...
  • lostaway
  • lostaway
  • 2012年04月24日 12:51
  • 2749

QT添加openssl的方法

Assuming Windows you can download its installation from Win32 OpenSSL Installation Project page. Y...
  • threadroc
  • threadroc
  • 2014年06月06日 21:43
  • 1281

Windows 下编译 OpenSSL

简述 OpenSSL 是一个开源的第三方库,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般...
  • u011012932
  • u011012932
  • 2016年06月13日 16:12
  • 15013

VS2013中编译openssl的步骤和使用设置

VS2013中编译openssl的步骤和使用设置 一.VS2013中编译openssl的步骤 版本号:openssl-1.0.1e 1.下载 OpenSSL http://www.openss...
  • u010725842
  • u010725842
  • 2015年12月14日 15:18
  • 9244

OpenSSL库的编译与安装

    SSL是一种国际标准的加密及身份认证通信协议.SSL的英文全称是"Secure Sockets Layer",中文名为"安全套接层协议层",它是网景(Netscape)公司提出的基于 WEB ...
  • lizhoujian
  • lizhoujian
  • 2008年08月29日 20:27
  • 4986

openssl动态库生成以及交叉编译

虚拟机环境 ubuntu12.04 开发板 EasyARM-i.MX280A:   64m  sdram  128M  nandflash   运行官方提供的Linux-2.6.35.3内核li...
  • andylauren
  • andylauren
  • 2016年12月04日 21:55
  • 6056

使用VC6.0 编译OPENSSL

使用VC6.0 编译OPENSSL 在学习中记录和分享 时间: 2015-5-27 需要的工具 Openssl、NASM、Perl 下载地址: ⦁ Openssl   http://w...
  • fuck51cto
  • fuck51cto
  • 2016年10月07日 21:16
  • 668

openSSL1.1.1的编译

前言准备编译一个开源工程, git下来看说明, 说要openSSL. 那就先编译openSSL. 开源工程说的挺NB的, 要用户git最新版的openSSL:) 一般开源软件只敢说,...
  • LostSpeed
  • LostSpeed
  • 2017年04月07日 02:40
  • 3123

OpenSSL编译方法

一直以来很多软件都需要用到OpenSSL,比如libcurl, librtmp。 网上很多方法都只是简单记录了编译方法,不够全,我也不满意,故此需要自己编译。做一个系列文章。 0. 安装环...
  • oldmtn
  • oldmtn
  • 2015年07月28日 14:19
  • 2750
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[转]Windows平台编译OpenSSL详解
举报原因:
原因补充:

(最多只允许输入30个字)