ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0? [英] Does ActiveMQ-CPP 3.9.4 Support OpenSSL 1.1.0?

查看:195
本文介绍了ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试构建Apache ActiveMQ-CPP的最新版本,即3.9.4.我已经建立了两个必需的依赖项,即APR和OpenSSL.对于OpenSSL,这是版本1.1.0f.我能够在没有SSL支持的情况下构建所有4种配置(Debug,DebugDLL,Release,ReleaseDLL).但是,尝试使用SSL支持构建任何内容都会导致许多错误:

I am attempting to build the latest version of Apache ActiveMQ-CPP, which is 3.9.4. I have built both of the required dependencies, APR and OpenSSL. For OpenSSL, this is version 1.1.0f. I am able to build all 4 of the configurations without SSL support (Debug, DebugDLL, Release, ReleaseDLL). However, attempting to build anything with SSL support results in a number of errors:

.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLContextSpi.cpp(186):错误C3861:'CRYPTO_malloc_init':找不到标识符
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):错误C2027:使用未定义类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509.h(79):注意:请参见"X509_extension_st"的声明
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):错误C2227:->值"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):错误C2227:->数据"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2027:使用未定义类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509.h(79):注意:请参见"X509_extension_st"的声明
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2227:->值"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2227:-> length"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2660:'ASN1_item_d2i':函数未使用3个参数
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2027:使用未定义类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509.h(79):注意:请参见"X509_extension_st"的声明
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2227:->值"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2227:-> length"的左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2198:'X509V3_EXT_D2I':调用参数太少
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2198:'X509V3_EXT_I2V':调用参数太少

..\src\main\decaf\internal\net\ssl\openssl\OpenSSLContextSpi.cpp(186): error C3861: 'CRYPTO_malloc_init': identifier not found
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(667): error C2027: use of undefined type 'X509_extension_st'
C:\OpenSource\OpenSSL\1.1.0f\include\openssl/x509.h(79): note: see declaration of 'X509_extension_st'
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(667): error C2227: left of '->value' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(667): error C2227: left of '->data' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(670): error C2027: use of undefined type 'X509_extension_st'
C:\OpenSource\OpenSSL\1.1.0f\include\openssl/x509.h(79): note: see declaration of 'X509_extension_st'
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(670): error C2227: left of '->value' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(670): error C2227: left of '->length' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(670): error C2660: 'ASN1_item_d2i': function does not take 3 arguments
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(671): error C2027: use of undefined type 'X509_extension_st'
C:\OpenSource\OpenSSL\1.1.0f\include\openssl/x509.h(79): note: see declaration of 'X509_extension_st'
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(671): error C2227: left of '->value' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(671): error C2227: left of '->length' must point to class/struct/union/generic type
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(671): error C2198: 'X509V3_EXT_D2I': too few arguments for call
..\src\main\decaf\internal\net\ssl\openssl\OpenSSLSocket.cpp(671): error C2198: 'X509V3_EXT_I2V': too few arguments for call

自3.2.0版添加支持以来,发行说明未提及任何有关OpenSSL的内容.但是,ActiveMQ-CPP 3.9.4下载随附的README.txt文件指出:

The release notes haven't mentioned anything about OpenSSL since support was added in 3.2.0. However, the README.txt file included with the ActiveMQ-CPP 3.9.4 download states:

如果您希望使用SSL传输,则需要在系统上安装OpenSSL及其包含的内容.我们建议您使用1.0.0或更高版本以获得最佳性能和安全性,但众所周知0.9.8以后的版本也可以使用.

If you wish to use the SSL Transport then you will need to have OpenSSL and its includes installed on your system. We recommend that you use version 1.0.0 or higher for best performance and security, but version from 0.9.8 are also known to work.

这个StackOverflow问题似乎表示我的第一个错误(请参见上文)表示ActiveMQ-CPP不支持OpenSSL 1.1.0.但是,在

This StackOverflow question seems to indicate that my first error (see above) implies that OpenSSL 1.1.0 isn't supported by ActiveMQ-CPP. However, there doesn't appear to be an issue submitted on the ActiveMQ-CPP Jira site about lack of OpenSSL 1.1.0 support, and their own documentation clearly states that I should be able to use "version 1.0.0 or higher".

有人知道ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0吗?

Does anyone know whether ActiveMQ-CPP 3.9.4 supports OpenSSL 1.1.0?

推荐答案

客户端不支持ActiveMQ

The client doesn't support OpenSSL 1.1.0 as reported on the ActiveMQ mailing lists. I don't think anyone bothered to open an issue to that effect though.

这篇关于ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆