码迷,mamicode.com
首页 > Windows程序 > 详细

windows下Openssl安装过程

时间:2015-05-19 20:32:11      阅读:449      评论:0      收藏:0      [点我收藏+]

标签:

环境准备:

1. Perl下载地址http://downloads.activestate.com/ActivePerl/releases/5.16.3.1603/ActivePerl-5.16.3.1603-MSWin32-x86-296746.zip

 

2.openssl下载地址 http://www.openssl.org/source/      下载latest openssl并解压到C:\openssl-1.0.1e。

安装步骤:   (注:openssl目录下的有install.win32安装说明)

 

1、运行Configure。

>cd C:\openssl-1.0.1e

>perl Configure VC-WIN32 --prefix=c:/Openssl     这里指定安装目录

 

2、创建Makefile文件。

>ms\do_ms

推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。

:ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)

:ms\do_nasm (需要自己下载)

 

3、配置VC环境变量。

>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin

>vcvars32.bat

 

4、编译。

>cd C:\openssl-1.0.1e

>nmake -f ms\ntdll.mak

如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll(ssleay32.dll, libeay32.dll)和两个导出库文件(ssleay32.lib, libeay32.lib)。

 

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

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

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

5、检查下是否成功,执行命令:“nmake -f ms\ntdll.mak test”。

 


6、运行“nmake -f ms\ntdll.mak install”,或“nmake -f ms\nt.mak install”安装编译后的OpenSSL到指定目录。


7、查看安装结果C:\Openssl下包含了三个文件夹Bin、include、lib。bin下包括openssl.exe(openssl指令程序)、ssleay32.dll(ssl协议动态库)、libeay32.dll(密码算法库)。lib下包括libeay32.lib,ssleay32.lib。Include目录包括了OpenSSL开发设计的头文件。

 

8、为VC添加头文件和静态链接库路径。

在Include files中增加C:\Openssl\include目录;

在Libray files中增加C:\openssl-1.0.1e\out32dll。

 

9、编写OpenSSL程序,可参考C:\openssl-1.0.1e\demos

(1) 包含相应头文件

 

#include <openssl/ssl.h>

#include <openssl/err.h>

#include <openssl/bio.h>

 

(2) 添加静态链接库

 

#pragma comment(lib, "libeay32.lib" )

#pragma comment(lib, "ssleay32.lib")

 

或ProjectàSettingsàLinkàObject\library modules填写libeay32.lib ssleay32.lib。

(3) 将动态链接库ssleay32.dll, libeay32.dll复制到C:\WINDOWS\system32或Debug目录下,确保动态链接库在正确的路径。

 

 

 

安装中遇到的问题:

nmake -f ms\ntdll.mak时报以下错误:
1、Building OpenSSL
        perl util/copy.pl ".\.\e_os.h" "tmp32dll\e_os.h"
Can‘t load ‘E:\OraclePro\perl\5.8.3\lib/MSWin32-x86-multi-thread/auto/Fcntl/Fcnt
l.dll‘ for module Fcntl: load_file:找不到指定的模块。 at E:\OraclePro\perl\5.8.3
\lib/MSWin32-x86-multi-thread/XSLoader.pm line 68.
 at E:\OraclePro\perl\5.8.3\lib/MSWin32-x86-multi-thread/Fcntl.pm line 234
Compilation failed in require at util/copy.pl line 3.
BEGIN failed--compilation aborted at util/copy.pl line 3.
NMAKE : fatal error U1077: “C:\Perl\bin\perl.EXE”: 返回代码“0xff”
Stop.

2、或者perl.exe弹出提示框说:找不到perl58.dll

 

查看环境变量PERL5LIB改为将里面除了perl外的别的目录的环境变量全部清除。
我这里是只有“C:\Perl\lib\auto\Fcntl;”这个值Path里的值包含 C:\Perl\bin:C;\Perl\site\bin;C:\Perl\bin;

 

 

另尽量不要在win7上用vc++6.0来编译 可能会在link的时候报错 ,经验证用vs2010中文版没有问题

windows下Openssl安装过程

标签:

原文地址:http://www.cnblogs.com/ggxxjj123/p/4515304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!