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 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
。
mysqlclient-src 包根据 GPL-2.0 许可证进行许可,以匹配打包的 mysql 源代码的许可证。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,都应如上所述双重许可,不附加任何额外条款或条件。
依赖关系
~0–5MB
~117K SLoC