昨天花了一天的时间把gpkcs11在windows下编译通过了,主要在编译ceay_token模块的时候遇到了一些麻烦,现在我把经过回忆一下,写出来,以供参考.
一 openssl的编译
标 题: openssl 安装指南
发信站: BBS 水木清华站 (Wed Sep 25 19:27:55 2002), 站内信件
readme中说,win32平台参考install.win32
我大概写一下吧。
1.下载并解压openssl.我用的是:openssl-0.9.6g
2.下载并安装Perl。我用的是:ActivePerl-5.6.1.630-MSWin32-x86.msi
安装时全部采用默认设置即可。
3.控制台执行(因为Path已经在安装时自动设置,因此可在任何目录下执行):
perl Configure VC-WIN32
4.在openssl根目录(即1中解压后目录)依次执行:
ms\do_ms
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test
其中nmake是VC中的可执行文件,如果执行错误或不能执行,可能是VC的
环境变量设置问题。运行一下VC98/bin/VCVARS32.BAT即可。
环境变量改变后需要重启控制台。
二.编译ceay_tokoken模块
仔细看下面的邮件,我们会在readme中找到解决问题的答案,wow,需要借助于linux,或者你可以自己手动的改一下.
From: Martin Buechler <martin@gm...>
Re: unresolved external symbol2003-10-28 08:24
Hi Christian, You need to link a special version of openssl-0.9.4/6, where these openssl function symbols have been prefixed with "CI_Ceay_". See the TOKEN SPECIFIC INFORMATION for ceay_token: in the toplevel README of gpkcs11. Actually I ended up linking the modified libeay32 statically to avoid hassle with other versions hanging out in system paths. Regards Martin Christian Gredig wrote: > Hi > > I would like to build the gpkcs11 on win2000 with vc6, but when I"m > trying to link the ceay_token project I get the following errors. It > seems that a library or something is missing. I already added the > gpkcs11.lib, libeay32.lib (openssl 0.9.6) and the gdbm.lib. > > > ceay_token.obj : error LNK2001: unresolved external symbol > _CI_Ceay_DecryptFinal > > ceay_token.obj : error LNK2001: unresolved external symbol > _CI_Ceay_DecryptUpdate ....................还有好多这样的问题,我在这里省去...
其他模块的编译我想都不是问题吧,至少我花了很短的时间就解决了.
ok,问题解决了,是不是很爽啊,呵呵:)
======================
mail:zys_boy@163.net
by Zhu Yangsheng