环境:xp sp3,vs2003
XP下安装openssl实在是比较折腾人, 建议有使用linux的朋友还是直接在linux下操作, linux下比如是debian或ubuntu之类的只要apt-get install openssl 一句命令就完成安装, 而XP下就得进行比较烦琐的步骤. 以下我为的安装步骤:
(1)下载并安装ActivePerl, 我用的版本是ActivePerl-5.10.1.1007-MSWin32-x86.
(2)到www.openssl.org上下载openssl安装包, 我下的是openssl-1.0.1h.tar.gz.
(3)解压openssl-1.0.1h.tar.gz到C:/openssl-1.0.1h目录(当然其他目录也可以).
(4)cmd进入解压后的目录
(5)先看下C:/openssl-1.0.1h目录下的INSTALL.xx安装帮助文件, 我是WIN32的所以看INSTALL.W32
(6)按照帮助文件输入:perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
(7)因为我不使用汇编文件所以输入:ms/do_ms (到这里比较顺利)
(8)输入编译指令: nmake -f ms/ntdll.mak
(a)提示错误: ./crypto/cversion.c(105) : error C2220: warning treated as error - no 'object' file generated
解决办法: 打开ms/ntdll.mak文件, 去掉CFLAGS变量中的/wx, 不将该警告当成错误.
(b)继续编译, 提示错误:cryptlib.obj : error LNK2001: unresolved external symbol _OPENSSL_ia32_cpuid
out32dll/libeay32.dll : fatal error LNK1120: 1 unresolved externals
解决办法: 修改do_ms文件如下:
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
perl util/mk1mf.pl debug no-asm VC-CE >ms/ce.mak
perl util/mk1mf.pl debug dll no-asm VC-CE >ms/cedll.mak
perl util/mkdef.pl 32 libeay > ms/libeay32.def
perl util/mkdef.pl 32 ssleay > ms/ssleay32.def
[注]该方法来自 http://blog.csdn.net/wangxing1018/archive/2008/05/30/2497536.aspx
(9)输入安装指令:nmake -f ms/ntdll.mak install
(10)如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib ;也可是引用out32dll.dbg目录(debug版)
(11)此时openssl已经安装成功了.
转自:http://blog.csdn.net/sunwill_chen/article/details/5493802参考:http://blog.chinaunix.net/uid-20479991-id-216269.html
http://blog.csdn.net/wangxing1018/article/details/2480447
ps:常见错误:
1.Can't open perl script "Configure": No such file or directory
原因:没有进入解压后的目录执行命令
2.'nmake' 不是内部或外部命令,也不是可运行的程序
在vc安装目录搜索,将ide路径和nmake所在路径填到path中,
本人是(仅供参考):E:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;E:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;
3.NMAKE:fatal error U1077.“cl.exe” return code 0xc0000135
产生原因:在安装visual studio的时候没有勾选注册环境变量导致的。
解决办法:(同2)在系统环境变量中加入visual studio的安装路径:vs安装路径\VC\Bin,以及vs安装路径\Common7\IDE
4.ms\uplink.c(11) : fatal error C1083: 无法打开包括文件:“windows.h”: No such file or directory
NMAKE : fatal error U1077: “"E:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.EXE"”: 返回代码“0x2”
产生原因:找不到代码文件中包含的头文件
解决办法:cmd下进入到vs安装路径\VC\Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量