c++ - OpenSSL:无法在 VC++ 2010 中构建

标签 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) 微软公司。保留所有权利。

组装: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/

相关文章:

c++ - 堆栈对象的延迟初始化?

c++ - 在 gcc 上编译代码,但不在 msvc 上编译

c++ - 如何在 Arduino 上格式化长加千位分隔符

c++ - Botan 库和 'compressed' 公钥

ssl - 在 SSL 连接中禁用弱密码

Ubuntu 12.04.1/Ruby 1.9.3p0 上的 Ruby OpenSSL::SSL::SSLError

Ubuntu 和 SSLv2_method 的 undefined symbol

c++ - ceil 在 vi​​sual c++ 2010 中不包含 <cmath> 的情况下工作

mfc - VC++ 10 MFC : What is the correct way to do localization

c++ - 如何正确地将 2D 图像纹理映射到 icosphere