我已经下载了最新的 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) 微软公司。保留所有权利。
组装: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 项目文件?
最佳答案
问题似乎与 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")
{
在 openssl users mailing 中找到解决方案:
http://groups.google.com/group/mailing.openssl.users/browse_thread/thread/42a8f226f1fc279f )
关于c++ - OpenSSL:无法在 VC++ 2010 中构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680189/