Keep on going, never give up.

Windows环境下编译openssl

因为要用到openssl的不同环境下库文件,所以,只能自己编译openssl,在windows下编译还算简单。安装前请先阅读openssl源码包解压后根目录下的readme以及INSTALL.W32等文件,里面详细介绍了编译过程。

本文测试环境:

  • 操作系统:Windows 7
  • 编译器:VC++ 6.0
  • openssl: openssl-1.0.1c.tar.gz
  • perl:ActivePerl-5.14.2.1402-MSWin32-x86-295342

一、下载perl并安装

最新的perl下载地址:http://www.activestate.com/ActivePerl

下载后直接安装,安装完成后,可在命令行中输入perl -v检测perl版本,如果无法显示,请检查path环境变量是否已经加入perl的安装地址。

二、下载openssl并解压

官方地址:http://www.openssl.org

假设解压到D:\openssl-1.0.1c。

三、安装VC++

当然你也可以使用Borland C/Cygwin等编译工具,请参考INSTALL.W32中对应的编译说明。

安装VC过程从略。本文安装到C:\Program Files (x86)\Microsoft Visual Studio。

四、编译openssl

打开命令行,进入D:\openssl-1.0.1c,依次执行如下命令:

  • >cd D:\openssl-1.0.1c
  • >perl Configure VC-WIN32 no-asm --prefix=C:/openssl
  • >ms\do_ms
  • >nmake -f ms\nt.mak

注意:

  • 前面的>符号为命令提示符,不需要输入。
  • 以上编译结果为RELEASE静态库,如果编译DEBUG调试静态库,需debug-VC-WIN32参数。
  • 如需编译DLL动态库,请使用nmake -f ms\ntdll.mak
  • C:/openssl为openssl的安装目录
  • 以上编译未使用汇编方式,区别在效率和速度上,除非你对速度有很高要求(ms\do_nasm)。

以上是不安装openssl,只是编译出结果来,头文件在/inc32目录下,库在/out32或/out32.dbg下(libeay32.lib和ssleay32.lib作为库文件)。如需安装,执行如下命令:

nmake -f ms\ntdll.mak install

五、编译报错处理

1、错误:nmake找不到?

检查环境变量nmake,vc++的nmake默认在C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin目录下,可以把该路径添加到系统的path变量中。

2、错误:VC++调试程序出现“MSPDB60.DLL”丢失错误

请把C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin\MSPDB60.DLL拷贝到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin
即可。

3、错误:.\crypto\cryptlib.c(59)   :   fatal   error   C1083:   Cannot   open   include   file:   'stdio.h ':   No   such  file   or   directory

请在上文命令中行执行VC环境变量设置:

  • >VCVARS32.BAT

该文件也在上文VC++的BIN目录下。

4、错误:use of undefined type 'in6_addr'

打开s_cb.c文件,把下列代码拷到apps\s_cb.c文件中#include后面即可

struct in6_addr {
	union {
		u_char Byte[16];
		u_short Word[8];
	} u;
};

更多参考:

Windows下OpenSSL安装配置

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.