-
添加或更新了几个CMake选项,以支持使用第三方组件的外部源(或构建),例如压缩库和 Protobuf 编译器,Connector/C++ 依赖这些组件。如果需要,这些选项允许在配置时替换外部源位置。
支持的选项有:
WITH_BOOST
: Boost 源目录。WITH_LZ4
: LZ4源码目录。WITH_MYSQL
: MySQL 服务器源目录。WITH_PROTOBUF
:Protobuf 源目录。WITH_SSL
: SSL 源目录。WITH_ZLIB
: ZLIB 源目录。WITH_ZSTD
:ZSTD 源目录。
目前,连接器使用的捆绑第三方库静态链接到它。外部来源的库是动态链接的。长期存在的问题,例如链接到静态连接器库 (
libmysqlcppconn8-static.a
) 的应用程序不能同时链接到 Protobuf 库,现在通过从源构建一个动态链接 Protobuf 的变体来解决。有关详细信息,请参阅 指定外部依赖性。(漏洞#32117299)
对于捆绑了 OpenSSL 库的平台,Connector/C++ 的链接 OpenSSL 库已更新至版本 1.1.1q。在https://www.openssl.org/news/cl111.txt和 https://www.openssl.org/news/vulnerabilities.html中描述了新 OpenSSL 版本中修复的问题 。(漏洞#34414692)
X DevAPI: 如果应用程序
mysqlx_session_close
在与 Internet 断开连接后调用,Connector/C++ 的异常可能会导致应用程序意外停止。(错误#107692,错误#34338950)在 Windows 上,编译器遇到了困难,因为
unistd.h
用于调用getcwd
而不是使用各种 Windows 替代方案。感谢 Luis Pinto 提供的补丁。(缺陷 #108355,缺陷 #34553226)尝试链接 的
libcrypto
库 被 macOS 的连接器/C++ 二进制分发版安装在意外目录中。libssl
此修复可确保将两个捆绑的库安装在同一目录中。(错误#107947,错误#34417381)