4个版本

0.1.2 2024年8月23日
0.1.1 2024年5月31日
0.1.0 2024年5月17日
0.0.1 2024年5月17日

2241数据库接口

Download history 530/week @ 2024-05-16 301/week @ 2024-05-23 479/week @ 2024-05-30 515/week @ 2024-06-06 468/week @ 2024-06-13 98/week @ 2024-06-20 297/week @ 2024-06-27 157/week @ 2024-07-04 221/week @ 2024-07-11 168/week @ 2024-07-18 515/week @ 2024-07-25 115/week @ 2024-08-01 43/week @ 2024-08-08 147/week @ 2024-08-15

每月837次下载
3个crate中使用了(b2 直接)

GPL-2.0许可协议

32MB
550K SLoC

C++ 459K SLoC // 0.2% comments C 81K SLoC // 0.2% comments Puppet 4K SLoC // 0.0% comments M4 2K SLoC // 0.4% comments Shell 1K SLoC // 0.2% comments Bitbake 786 SLoC // 0.0% comments Automake 522 SLoC // 0.1% comments AWK 427 SLoC // 0.1% comments GNU Style Assembly 371 SLoC // 0.2% comments LLVM 268 SLoC Visual Studio Project 181 SLoC Batch 44 SLoC Rust 39 SLoC // 0.1% comments Visual Studio Solution 25 SLoC Monkey C 7 SLoC // 0.5% comments VBScript 4 SLoC // 0.8% comments

mysqlclient-sys

为libmysql-client自动生成的Rust绑定(#include <mysql.h>

构建

为了构建此crate,您的系统上必须安装libmysqlclient(在macOS上使用brew install mysql,在Ubuntu上使用apt-get install libmysqlclient-dev,在Windows上包含在服务器分发中)。此外,必须存在pkg-configmysql_config,并且能够成功定位libmysqlclient

crate的构建脚本将尝试使用以下方法找到libmysql-client的库路径

  • 首先,它将尝试使用pkg-config来定位它。crate的pkg-config的所有配置选项,例如PKG_CONFIG_ALLOW_CROSSPKG_CONFIG_ALL_STATIC等,都适用。
  • MSVC ABI构建将检查Vcpkg的安装,使用vcpkg cargo build helper。将环境变量VCPKG_ROOT设置为指向您的Vcpkg安装,并运行vcpkg install libmysql:x64-windows-static-md来安装所需的库。在这种情况下,您需要将MYSQLCLIENT_VERSION设置为指定安装的版本。
  • 除非指定了MYSQLCLIENT_LIBNAME环境变量,否则将使用库名称mysqlclient
  • 如果使用上述步骤无法找到库,则构建脚本将检查环境变量MYSQLCLIENT_LIB_DIRMYSQLCLIENT_VERSION
  • 如果使用pkg-config无法找到库,它将调用命令mysql_config --variable=pkglibdir

crate将尝试使用预生成的绑定来支持各种libmysqlclient版本和操作系统。

buildtime_bindgen功能允许您在构建时生成与本地安装的libmysqlclient版本匹配的绑定。它使用pkg-configvcpkgmysql_configMYSQLCLIENT_INCLUDE_DIR变量来确定您的mysql.h头文件的路径。可以通过设置BINDGEN_EXTRA_CLANG_ARGS变量来提供额外的bindgen配置。

所有MYSQLCLIENT_*环境变量都可以通过目标后缀来设置,以便为不同的目标设置不同的值。例如,MYSQLCLIENT_LIB_DIR_x86_64_unknown_linux_gnu将设置MYSQLCLIENT_LIB_DIR变量以适用于x86_64-unknown-linux-gnu目标。在目标特定变量之前,MYSQLCLIENT_LIB_DIR变量具有优先级。

许可证

许可协议为以下之一

根据您的选择。

mysqlclient-srccrate的许可证为GPL-2.0,以与打包的mysql源代码的许可证相匹配。

贡献

除非您明确表示,否则任何根据Apache-2.0许可证定义的,有意提交以包含在您的工作中的贡献,都将如上所述双许可,没有任何附加条款或条件。

依赖关系

~31MB
~763K SLoC