-
添加或更新了几个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)