无法使用 OpenSSL 1.1.1 构建 activemq CMS 3.9.5
Failed to build activemq CMS 3.9.5 with OpenSSL 1.1.1
Readme.txt 对于 ActiveMQ CPP 库版本 3.9.5 状态
1.3 OpenSSL
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.
我正在尝试使用 Visual Studio 项目(包含在 activemq-cpp 3.9.5 发行版中)使用 OpenSSL 1.1.1 构建 activemq cms 3.9.5,看起来 CRYPTO_malloc_init() 是从 OpenSSL 1.1.1 中删除,因此我在 OpenSSLContextSpi.cpp
中遇到编译错误
#ifdef HAVE_OPENSSL
// General library initialization.
#ifdef WIN32
CRYPTO_malloc_init();
#endif
SSL_load_error_strings();
SSL_library_init();
OpenSSL_add_all_algorithms();
...
而 OpenSSL 1.1.1 定义了另一个宏
#define OPENSSL_malloc_init() \
CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free)
我找到了以下内容
但我不清楚它是否已得到解决并且我在正确构建它时遇到问题,或者 OpenSSL 1.1.1 实际上不受版本 3.9.5 的支持?
任何帮助或澄清将不胜感激
该版本的 CMS 客户端不支持 OpenSSL 1.1.1,因此很可能不允许客户端构建,即使构建也可能会失败。 CMS 客户端并未积极开发,因此我会查看备用客户端库,例如 Apache Qpid 项目的 AMQP 客户端。
Readme.txt 对于 ActiveMQ CPP 库版本 3.9.5 状态
1.3 OpenSSL
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.
我正在尝试使用 Visual Studio 项目(包含在 activemq-cpp 3.9.5 发行版中)使用 OpenSSL 1.1.1 构建 activemq cms 3.9.5,看起来 CRYPTO_malloc_init() 是从 OpenSSL 1.1.1 中删除,因此我在 OpenSSLContextSpi.cpp
中遇到编译错误#ifdef HAVE_OPENSSL
// General library initialization.
#ifdef WIN32
CRYPTO_malloc_init();
#endif
SSL_load_error_strings();
SSL_library_init();
OpenSSL_add_all_algorithms();
... 而 OpenSSL 1.1.1 定义了另一个宏
#define OPENSSL_malloc_init() \
CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free)
我找到了以下内容
该版本的 CMS 客户端不支持 OpenSSL 1.1.1,因此很可能不允许客户端构建,即使构建也可能会失败。 CMS 客户端并未积极开发,因此我会查看备用客户端库,例如 Apache Qpid 项目的 AMQP 客户端。