9 个版本
新版本 0.2.9+2.11.12 | 2024年8月20日 |
---|---|
0.2.8+2.11.11 | 2024年4月7日 |
0.2.6+2.11.10 | 2023年10月27日 |
0.2.4+2.11.9 | 2023年5月18日 |
0.1.0+2.11.6 | 2023年3月18日 |
#1102 in 算法
113 每月下载量
被 8 个 crate (4 个直接) 使用
2MB
58K SLoC
CoinUtils-src
CoinUtils-src
crate 是一个 *-src crate。它将 CoinUtils 库链接到 cargo 构建的程序,但不提供 Rust 绑定。
通过此包,您无需担心在系统中安装 CoinUtils,这是一个适用于 所有平台 的包。
CoinUtils 是一组开源类和辅助函数集合,通常对多个 COIN-OR 项目都有用。
用法
-
将以下内容添加到您的
Cargo.toml
[dependencies] coinutils-src = "\*"
-
将以下内容添加到您的
lib.rs
extern crate coinutils_src;
此包不提供绑定。请使用 coincbc-sys、coinclp-sys 来使用 Cbc、Clp 等。
[dependencies]
coincbc-sys = { version = "\*" }
配置
环境
默认情况下,此包从源代码构建并静态链接。它还提供以下环境变量,允许用户自定义链接到系统库
CARGO_COINUTILS_STATIC
用于静态链接 CoinUtils;CARGO_COINUTILS_SYSTEM
用于链接到 CoinUtils 系统库;
将环境变量设置为 1
以启用功能。例如,要动态链接到系统库,将 CARGO_${LIB_NAME}_SYSTEM
设置为 1
;要静态链接到系统库,将 CARGO_${LIB_NAME}_SYSTEM
和 CARGO_${LIB_NAME}_STATIC
都设置为 1
。
Windows 和 vcpkg
在Windows上,如果 ${LIB_NAME}_SYSTEM
设置为 1
,则 coinutils-src
将使用 vcpkg 来查找 CoinUtils。在构建之前,您必须为目标三元组和链接类型安装正确的 CoinUtils。例如,为了为 x86_64-pc-windows-msvc
工具链进行动态链接,请为 x64-windows
三元组安装 coinutils
vcpkg install coinutils --triplet x64-windows
要静态链接 CoinUtils,请为 x64-windows-static-md
三元组安装 coinutils
vcpkg install coinutils --triplet x64-windows-static-md
要静态链接 CoinUtils 和 C 运行时 (CRT),请为 x64-windows-static
三元组安装 coinutils
vcpkg install coinutils --triplet x64-windows-static
并使用 +crt-static
选项进行构建
RUSTFLAGS='-C target-feature=+crt-static' cargo build --target x86_64-pc-windows-msvc
请参阅 Rust参考中的“静态和动态C运行时” 获取详细信息。
交叉编译
您可以通过向 --target
选项提供 cargo build
提供其他目标的编译。
目标 | 支持 |
---|---|
arm-unknown-linux-gnueabi |
✓ |
arm-unknown-linux-gnueabihf |
✓ |
armv7-unknown-linux-gnueabi |
✓ |
armv7-unknown-linux-gnueabihf |
✓ |
armv7-unknown-linux-musleabi |
✓ |
armv7-unknown-linux-musleabihf |
✓ |
aarch64-unknown-linux-gnu |
✓ |
aarch64-unknown-linux-musl |
✓ |
riscv64gc-unknown-linux-gnu |
✓ |
x86_64-pc-windows-msvc |
✓ |
x86_64-unknown-linux-gnu |
✓ |
x86_64-unknown-linux-musl |
✓ |
其他 | 未测试 |
贡献
您的贡献将受到高度赞赏。请毫不犹豫地提交问题或拉取请求。请注意,任何提交给项目以供包含的贡献都将根据在 LICENSE 中给出的条款进行许可。