openssl-1.0.0-beta3版本编译
OpenSSL的源码和编译环境下载:
openssl-1.0.0-beta3版本下载地址:
http://www.openssl.org/source/openssl-1.0.0-beta3.tar.gz
ActivePerl window安装程序下载:
http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1005-MSWin32-x86-290470.msi
这个地址好像已经下载不到对应版本的ActivePerl-5.10.0.1005-MSWin32-x86-290470了,不过可以从Google中自己找到,选择下载ActivePerl-5.8.8.817-MSWin32-x86-257965也可以实现编译。
OpenSSL安装过程
1. 安装ActivePerl程序,确保其bin目录在环境变量path里面
2. 解压OpenSSL源代码到 F:openssl (目录自己定义)
4. 在命令行下输入如下命令:
cd openssl
perl configure VC-WIN32
ms\do_ms.bat
在这之后需要配置VC环境变量
进入vs中VC安装路径,执行 VCVARS32.BAT(一般在 Microsoft Visual Studio9.0\VC\Bin目录),这一步是设置临时的环境变量;
注意:运行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输入如下命令:
nmake -f ms\ntdll.mak (编译静态版本的执行 nmake -f ms\nt.mak )
6. 编译完成后会在 F:opensslout32dll 目录下生成库文件、动态链接库文件、Openssl执行文件和测试程序,有用的文档就是三个openssl.exe libeay32.dll ssleay32.dll
注意:
(1)如果出现警告作为错误的error,请修改ms目录下的ntdll.mak文件,把-w3修改为-w0
(2)最后一步编译时可能出现错误:“NMAKE : fatal error U1077: 'ml' : return code'0x1' Stop.”,产生这种错误的可能原因是vc6的bin目录下没有ml.exe这个文件。该文件包含在MASM程序中。我的解决办法是到网上下载了一个 MASM程序,安装上之后把ml.exe拷贝到VC6的bin目录下即可解决。如果这样也无法解决问题,那么请参考”openssl- 1.0.0.beta3编译错误详解“。
(3)在vc6.0中也可以实现相应版本或者低版本的编译,具体过程类似。