在使用OpenSSL的过程中,如果要自定义ssleay32.dll和libeay32.dll的名称不太容易,因为Configure文件并没有提供相应的自定义选项,我们可以通过修改perl脚本来实现:
1. 修改OpenSSL-1.0.0-beta3/util/pl/VC-32.pl
此文件的作用是生成ms/ntdll.mak,在输出DLL名称前加上前缀“cppx_”:
$ssl = "cppx_ssleay32";
$crypto = "cppx_libeay32";
2. 修改OpenSSL-1.0.0-beta3/util/mkdef.pl
此文件的作用是生成libeay32.def和ssleay32.def,修改def文件中的LIBRARY名称:
LINE:224
if (!$libname) {
if ($do_ssl) {
$libname="CPPX_SSLEAY";
}
if ($do_crypto) {
$libname="CPPX_LIBEAY";
}
}
3.修改OpenSSL-1.0.0-beta3/ms/do_ms.bat
加上debug选项,在输出库中增加调试信息和pdb文件,以方便调试
perl util/mkfiles.pl >MINFO
perl util/mk1mf.pl debug no-asm VC-WIN32 >ms/nt.mak
perl util/mk1mf.pl debug dll no-asm VC-WIN32 >ms/ntdll.mak
if x%OSVERSION% == x goto skipce
perl util/mk1mf.pl no-asm VC-CE >ms/ce.mak
perl util/mk1mf.pl dll no-asm VC-CE >ms/cedll.mak
:skipce
perl util/mkdef.pl 32 libeay > ms/cppx_ssleay32.def
perl util/mkdef.pl 32 ssleay > ms/cppx_libeay32.def
Ø perl Configure VC-WIN32 --prefix=D:/develop/depends/OpenSSL-1.0.0-VC90
Ø ms/do_ms.bat
Ø nmake –f ms/ntdll.mak
Ø nmake –f ms/ntdll.mak test
Ø nmake –f ms/ntdll.mak install
完成!