构建ACE_SSL

时间:2016-12-26 18:13:30

标签: c++ openssl ace

我在使用OpenSSL构建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"这是" struct bio_method_st"的typedef,在openssl标题" bio.h"中定义。

在openssl文件夹中搜索" struct bio_method_st"时,我只找到一个引用它并且它在该头中,但它只包含声明而不是定义。与旧版本的openssl online相比,该标题也用于包含定义。

我还在网上找到了一个带有脚本的repo,下载并使用ssl 64位版本构建ace:

  

https://github.com/sphawk/build-ace

该脚本运行并构建正常,但它使用ACE版本6.3.3和openssl版本1.0.2f(今年1月发布)。我可以轻松地修改它来构建我需要的32位库,并将其更改为使用最新版本的ACE。使用最新版本的openssl需要更多更改,因为构建步骤已更改,因此我可以节省时间并使用该版本的openssl。这会带来什么问题吗?我假设即使新版本在某些方面有所改进,它也不会使旧版本过时了吗?

底线是我无法弄清楚问题是我做错了什么,或者如果ACE与这个版本的openssl不兼容,我应该使用旧版本。我只是想发布这个以防万一有人遇到类似的事情,并且可以在我做任何额外的工作之前指出我正确的方向。谢谢!

1 个答案:

答案 0 :(得分:1)

ACE尚不支持OpenSSL 1.1.x.请在github处打开一个问题。也许你可以创建一个修复程序,如果是这样,请打开一个拉动请求并进行必要的修改。