我正在构建一个基于mysql-connector-c-6.1.3的简单mysql客户端。一切顺利,但是我看到了这个警告:
Warning: MySQL client build with 5.7.4-m14 but loading MySQL 6.1.3
查看源代码,我发现mysql-connector-c同时包含VERSION
和VERSION.server
文件,定义了两个不同的版本,导致我的客户端发出潜在的不兼容性警告。
我不理解VERSION.server
的含义,因为这是一个客户端库。我此时甚至没有运行服务器。另外我的印象是mysql只通过网络连接,因此客户端和服务器版本不必完全匹配。
答案 0 :(得分:0)
来自来源mysql_version.cmake
:
GET_MYSQL_VERSION(VERSION.server)
SET(SERVER_VERSION ${VERSION})
SET(SERVER_VERSION_ID ${MYSQL_VERSION_ID})
# Get Connector/C version and other interesting variables
GET_MYSQL_VERSION()
MESSAGE(STATUS "LibMySQL ${VERSION}")
MESSAGE(STATUS "Built from MySQL ${SERVER_VERSION} sources")
显然,客户端中包含一些服务器端代码(听起来合理),VERSION.server
仅包含该代码的版本号。
虽然有些冲突的版本(会触发你的警告)分布在一个源包中,但这很奇怪。注意我在这个源包中找不到这个警告,也许你正在构建/链接/运行其他东西?