openssl工作中需在用于unix/linux下,自己学习运行于windows平台
环境:windows xp + vc6.0 +vs2008
openssl版本:openssl-0.9.8g.tar.gz
安装步骤在google里面一搜一大片,以下摘于其中某一篇:
必备条件:
1、安装VC++ 6.0。
2、下载ActivePerl- 5.8.0 .806-MSWin32-x86并安装:
http://www.sogoz.info/down.asp?id=3683&no=1
3、下载 openssl0.98并解压。
http://www.openssl.org/source/openssl-0.9.8.tar.gz
安装步骤:完全可以参照openssl目录下的install.win32
1、进入 openssl目录,执行
perl Configure VC-WIN32
如不成功会有明显提示
2、继续执行ms/do_ms
推荐使用这种方式
另外两种方式 如果使用也必须保证本机有编译器才能使用。
:ms/do_masm (默认vc 自带的编译器;也也以自己下载安装)
:ms/do_nasm (需要自己下载)
3、DOS窗口下转到【Microsoft Visual Studio】/VC98/bin目录下执行 vcvars32.bat 以配置环境变量。
4、跳到openssl目录下,执行:
nmake -f ms/ntdll.mak
如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib
以上操作步骤,其实很简单没有什么可说的,以下是我在编译过程中遇到的问题,贴出来大家一块看看
1。我在网上down下了的版本openssl-0.9.8b.tar.gz,因我的电脑以前装过perl,所以perl没有单独安装,编译静态库没有报错,可在编译成dll库的时候,一直报错,错误信息如下:
./crypto/ec/ec_asn1.c(262) : error C2370: 'ECPKPARAMETERS_it' : redefinition; di
fferent storage class
./crypto/ec/ec_asn1.c(259) : see declaration of 'ECPKPARAMETERS_it'
./crypto/ec/ec_asn1.c(273) : error C2370: 'EC_PRIVATEKEY_it' : redefinition; dif
ferent storage class
./crypto/ec/ec_asn1.c(270) : see declaration of 'EC_PRIVATEKEY_it'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
重新试了几次,错误依旧,没有办法,只有得新下了一个openssl-0.9.8g.tar.gz,解压开始操作,这次一编译直接就报perl版本不正确,无法编译,我原来装的是5.8.8版本,可一直报版本是5.6
重新检查了一下我的环境变量,因我的本本上装有oracle10g服务器版,而oracle自带有perl版,重新改变了环境变量中perl的调用顺序,问题还是没有得到解决。
没有办法,只好把oracle10g uninstall 了,后编译一切正常了。
对于安装过程中遇到的问题,我也是不十分明了,愿使用过或正在学习openssl的朋友们给点经验!