安装环境:
1、操作系统:Windows XP SP2
2、C++编译器:VC++ 6.0
下载:
- 下载ActivePerl 5.10.1.1007(最新的版本或较低的版本也可以):
下载地址:http://www.activestate.com/activeperl/downloads/
(当前的最新版本为ActivePerl 5.10.1.1007,只要按照Windows下一般程序的安装步骤进行即可~~~在此就不赘述了)
- 下载 openssl-0.9.8m(当然也可以最新的版本)并解压。
下载地址: http://www.openssl.org/source/
Perl和OpenSSL的安装:
安装Perl
(我的安装目录为C:\perl\eg)
运行“CMD”命令,使用cd命令指向perl安装目录的eg文件,执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了,如下图:
Note:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W32和INSTALL.W64,用记事本方式打开,你可以看到详细的关于安装的解释~~~~
开始安装OpenSSL
- 初始化VC++ 6.0 环境变量(找到vc++ 6.0的安装目录下的\VC98\Bin\执行如下的命令):
- 执行Configure命令(配置编译参数):
- 运行ms\do_ms命令(在使用Configure脚本配置好参数):
另外两种方式 如果使用也必须保证本机安装有相应的编译器才能使用。
:ms\do_masm (默认vc自带的;也可以自己下载masm并安装)
:ms\do_nasm (需要下载nasm)
- 运行“nmake -f ms\ntdll.mak”命令进行代码编译(需将目录跳到OpenSSL目录下)
如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib ;把他们放到PATH环境变量对应的一个目录里就可以了。
- 测试使用命令“nmake -f ms\ntdll.mak test”
若安装成功的话,显示的最后几行如下图:
- 配置VC++ 6.0下的相关参数
在VC++ 6.0的工具—》选项—》目录下的Include files下添加OpenSSL安装目录下的include目录;在Library files下添加out32dll目录,现在你就可以使用OpenSSL编程了~~~
以上只是我在刚开始学习的时候的安装过程,若有不对的地方或还有更好的方法,欢迎大家批评指正~~~
编译遇到的问题解决:
(1) nmake不是内部或者外部号令或者.bat文件
解决办法:nmake.exe的文件,这个文件应当位于C:\Program Files\Microsoft Visual Studio\VC98\Bin目次中,设备景象变量即可。操纵:右键单击我的电脑-->属性-->高等-->环境变量--高级变量(找到path)-->编辑,将C:\Program Files\Microsoft Visual Studio\VC98\Bin加到未尾(重视要和前一个路径用";"隔开,并以";"停止;最后要提示一点,必然要重启cmd,新的path才会生效
(2) “nmake -f ms\ntdll.mak”发明弹出警告框,题目为cl.exe提示缺乏mspdb60.dll
解决办法:C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin下的mspdb60.dll文件,复制到C:\Program Files\Microsoft Visual Studio\VC98\BIN下,VC6.0即可正常运行。
(3) nmake -f ms\ntdll.mak号令,报如下错误
“ms\uplink.c(11) : fatal error C1083: Cannot open include file: ""windows.h"": No such file or directory NMAKE : fatal error U1077: ""cl"" : return code ""0 x2"" Stop.的错误”
解决办法:先运行vcvars32,vcvars32.bat用于设置VC号令行编译的环境变量。
再次运行“nmake -f ms\ntdll.mak”
安装成功后,C:\openssl-0.9.8.e下包含了三个文件夹Bin、include、lib。bin下包含openssl.exe(openssl指令法度)、ssleay32.dll(ssl和谈动态库)、libeay32.dll(暗码算法库)。lib下包含libeay32.lib,ssleay32.lib