Vio*_*ffe 11 c++ openssl visual-c++-2010
我已经下载了最新的OpenSSL源代码包.我想用VC++ 2010 x64构建它.按照说明似乎不起作用.配置步骤看起来很好,但随后:
C:\ 1> MS\do_win64a.bat
C:\ 1> perl util\mkfiles.pl 1> MINFO
C:\ 1> perl ms\uplink.pl win64a 1> ms\uptable.asm
C:\ 1> ml64 -c -Foms\uptable.obj ms\uptable.asm Microsoft(R)宏汇编程序(x64)版本10.00.30319.01版权所有(C)Microsoft Corporation.版权所有.
组装:ms\uptable.asm
C:\ 1> perl util\mk1mf.pl no-asm VC-WIN64A 1> ms \nt.mak在util\mk1mf.pl第907行没有关于crypto\md4的规则.
C:\ 1> perl util\mk1mf.pl dll no-asm VC-WIN64A 1> ms \ntdll.mak在util\mk1mf.pl第907行没有关于crypto\md4的规则.
C:\ 1> perl util\mkdef.pl 32 libeay 1> ms\libeay32.def
C:\ 1> perl util\mkdef.pl 32 ssleay 1> ms\ssleay32.def
Win 32(do_ms)输出看起来有点不同,但"在util\mk1mf.pl第907行没有加密\ md4的规则"仍然存在.
任何人都可以帮助我构建库或共享vc2010构建的二进制文件吗?或者是库的VS2010项目文件?
Kan*_*abi 29
问题似乎与eol(行尾)有关.解决方案是修补mk1mf.pl以使其删除回车:
Index: mk1mf.pl
===================================================================
--- mk1mf.pl (revision 88908)
+++ mk1mf.pl (working copy)
@@ -315,7 +315,7 @@
for (;;)
{
chop;
+ s/\r$//; #remove carriage return too!
($key,$val)=/^([^=]+)=(.*)/;
if ($key eq "RELATIVE_DIRECTORY")
{
Run Code Online (Sandbox Code Playgroud)
在openssl用户邮件中找到解决方案:
http://groups.google.com/group/mailing.openssl.users/browse_thread/thread/42a8f226f1fc279f)
上面提供的补丁有效,但更好的解决方案是使用ActivePerl,如OpenSSL文档中所建议的那样.
http://www.activestate.com/activeperl/downloads
其他perl构建,如MSYS构建将给你这个错误.
为了确定您是否使用ActivePerl,请在命令提示符下运行perl.exe --version.它应该说:
Binary build 1601 [296175] provided by ActiveState http://www.ActiveState.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6801 次 |
| 最近记录: |