我在使用OpenSSL构建ACE_SSL库时遇到了问题。Building ACE_SSL
我正在使用ACE 6.4.1和OpenSSL 1.1.0c这是github上的最新版本(我认为这些是兼容的权利,即使构建ACE SSL指令似乎引用out32和inc32似乎是输出建立以前版本的OpenSSL,而不是这一个)。
我设法构建了openssl,所有测试都运行正常。从那以后,我跑了.mwc脚本ACE带着像这样:
bin\mwc.pl -type vc14 -features "ssl=1" ACE.mwc
这个生成一个Visual Studio 2015年解决方案,它现在确实含有一个项目叫做SSL和其他几个相关的项目。然而,当我尝试构建时,编译器抱怨使用了不完整类型“BIO_METHOD”,它是openssl头文件“bio.h”中定义的“struct bio_method_st”的typedef。
在openssl文件夹中为“struct bio_method_st”搜索时,我只能找到它的一个引用,它在头部,但它只包含声明而不包含定义。与旧版的openssl online相比,该标题也用于包含定义。
我还发现了一个回购在线与一个脚本,下载并建立王牌使用SSL,64位版本在这里:
运行该脚本,并建立确定,但它使用ACE版本6.3.3和OpenSSL版本1.0.2f(今年1月份发布)。我可以轻松修改它来构建我需要的32位库,并将其更改为使用最新版本的ACE。使用最新版本的openssl需要多一点修改,因为构建步骤已更改,所以我可以节省时间并使用该版本的openssl。这会带来什么问题吗?我认为,即使新版本改进了某些方面,它也不会使旧版本过时了吗?
底线是我无法弄清楚,如果问题是我做错了什么,或者如果ACE与此版本的openssl不兼容,我应该使用较旧的版本。我只是想发布这个以防万一任何人碰到类似的东西,并且可以在我做任何额外的工作之前指向正确的方向。谢谢!
可能ACE尚未与这个新的OpenSSL版本兼容,请提出问题并希望在ACE/TAO github项目 –