刚才下载了一个openssl编译,按照Install.W32给出的说明进行编译
perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
ms\do_masm
nmake -f ms\ntdll.mak
其中第一行命令,我按照Windows的习惯写的路径,即变成了
perl Configure VC-WIN32 --prefix=c:\some\openssl\dir
呵呵,生成的Makefile会定义一个宏
OPENSSLDIR=c:\some\openssl\dir/ssl
问题出来了,只要碰到使用宏OPENSSLDIR的地方都会报C2220错误,并提示某些特定的字符没有定义
后来仔细研究了一下,都是路径中的'\'惹的祸!
原来在c/c++当中'\'是转义字符,所以c:\some\openssl\dir/ssl中的s被转义了,偏偏\s这个东东是没有的!
所以编译通不过就是自然的啦!!
将第一行命令中的'\'替换为'/',万事ok!
在网上简单的搜了一下,碰到这个问题的不再少数,但都没有想到正确的解决方法! 有些解决方案设置要修改代码!
张志强
2007-05-09
没有评论:
发表评论