ActiveMQ CPP 库版本 3.9.5 的 Readme.txt 状态
1.3 开放式SSL
如果您希望使用 SSL 传输,那么您需要在系统上安装 OpenSSL 及其包含的内容。我们建议您使用 1.0.0 或更高版本以获得最佳性能和安全性,但 0.9.8 版本也可以工作。
我正在尝试使用 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)
我发现了以下 https://stackoverflow.com/questions/46005827/does-activemq-cpp-3-9-4-support-openssl-1-1-0/55131365#55131365 但我不清楚它是否是已解决并且我在正确构建它时遇到问题,或者版本 3.9.5 实际上不支持 OpenSSL 1.1.1?任何帮助或澄清将不胜感激