13个不稳定版本 (3个重大更改)
新 0.4.1 | 2024年8月23日 |
---|---|
0.4.0 | 2024年6月13日 |
0.3.1 | 2024年5月31日 |
0.2.5 | 2022年1月28日 |
0.2.2 | 2017年3月8日 |
1219 在 数据库接口 中
每月下载量36,084
用于 54 个crate(2个直接使用)
11MB
240K SLoC
mysqlclient-sys
libmysql-client的自动生成的Rust绑定(#include <mysql.h>
)
构建
为了构建此crate,必须在您的系统上安装libmysqlclient(在macOS上,使用brew install mysql
,在Ubuntu上,使用apt-get install libmysqlclient-dev
,在Windows上,包含在服务器发行版中)。此外,必须存在pkg-config
或mysql_config
,并且能够成功定位libmysqlclient
。
该crate的构建脚本将尝试使用以下方法查找libmysql-client的库路径
- 首先,它将尝试使用pkg-config来定位它。所有crate的配置选项,如
PKG_CONFIG_ALLOW_CROSS
、PKG_CONFIG_ALL_STATIC
等,都适用于pkg-config。 - 然后,MSVC ABI构建将检查Vcpkg的安装,使用vcpkg cargo build helper。设置环境变量
VCPKG_ROOT
以指向您的Vcpkg安装,并运行vcpkg install libmysql:x64-windows-static-md
来安装所需的库。在这种情况下,您需要设置MYSQLCLIENT_VERSION
以指定安装的版本。 - 除非指定了环境变量
MYSQLCLIENT_LIBNAME
,否则使用库名mysqlclient
。 - 如果上述步骤无法找到库,构建脚本将检查环境变量
MYSQLCLIENT_LIB_DIR
和MYSQLCLIENT_VERSION
。 - 如果使用
pkg-config
无法找到库,它将调用命令mysql_config --variable=pkglibdir
该包将尝试为各种 libmysqlclient 版本和支持的操作系统使用预生成的绑定。
通过 buildtime_bindgen
功能,您可以在构建时生成与本地安装的 libmysqlclient 版本匹配的绑定。它使用 pkg-config
、vcpkg
、mysql_config
或 MYSQLCLIENT_INCLUDE_DIR
变量来确定您的 mysql.h
头文件的位置。可以通过设置 BINDGEN_EXTRA_CLANG_ARGS
变量提供额外的 bindgen 配置。
所有 MYSQLCLIENT_*
环境变量都可以附加一个目标来允许为不同的目标设置不同的值。例如,MYSQLCLIENT_LIB_DIR_x86_64_unknown_linux_gnu
将为 x86_64-unknown-linux-gnu
目标设置 MYSQLCLIENT_LIB_DIR
变量。变量 MYSQLCLIENT_LIB_DIR
在目标特定变体之前具有优先级。
许可证
根据您的选择,许可如下
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
mysqlclient-src
包根据 GPL-2.0 许可证进行许可,以匹配打包的 mysql 源代码的许可证。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,都应如上所述双重许可,不附加任何额外条款或条件。
依赖关系
~0–5MB
~117K SLoC