MySQL C API 是一个基于 C 的 API,用 C 编写的客户端应用程序可以用来与 MySQL 服务器通信。客户端程序在编译时引用 C API 头文件,并libmysqlclient
在链接时链接到 C API 库文件。
要获取构建 C API 客户端程序所需的 C API 头文件和库文件,请安装 MySQL 服务器分发版。
您可以安装包含预构建的 C API 文件的二进制分发版,或者您可以使用 MySQL 服务器源代码分发版并自行构建 C API 文件。构建 MySQL 服务器也构建libmysqlclient
;请参阅
从源代码安装 MySQL。它不能单独构建,但使用可选的
-DWITHOUT_SERVER=ON
CMake 选项进行配置是相关的。
链接 C API 客户端应用程序时要使用的库文件的名称取决于为其构建分发的库类型和平台:
在 Unix(和类 Unix)系统上,静态库是
libmysqlclient.a
. 动态库libmysqlclient.so
在大多数 Unix 系统和libmysqlclient.dylib
macOS 上都有。-
在 Windows 上,静态库是
mysqlclient.lib
,动态库是libmysql.dll
. Windows 发行版还包括libmysql.lib
使用动态库所需的静态导入库。Windows 发行版还包括一组调试库。它们与非调试库同名,但位于
lib/debug
库中。在编译使用调试 C 运行时构建的客户端时,您必须使用调试库。
在 Unix 上,您可能还会看到
_r
名称中包含的库。在 MySQL 5.5 之前,这些是作为线程安全(可重入)库与非库分开构建的_r
。从 5.5 开始,两个库是相同的,_r
名称是指向相应非_r
名称的符号链接。无需使用_r
库。例如,如果您使用mysql_config获取链接器标志,则在所有情况下都可以使用mysql_config --libs,即使对于线程客户端也是如此。无需使用
mysql_config --libs_r。