Windows下安装CoinCbc库并运行good_lp Rust示例教程
Windows下运行Rust good_lp crate的简易教程
一、基础环境准备
- 安装Rust工具链:确保已通过rustup完成安装,若未安装,直接执行rustup安装程序并选择默认配置。
- 安装MSVC构建工具:打开Visual Studio Installer,勾选「使用C++的桌面开发」工作负载,安装包含的MSVC编译器、Windows SDK等组件。
二、配置CoinCbc依赖
推荐使用vcpkg管理依赖,步骤如下:
- 克隆vcpkg仓库到本地目录,执行
.\vcpkg\bootstrap-vcpkg.bat完成初始化。 - 安装CoinCbc库:执行
.\vcpkg install coincbc:x64-windows(32位系统替换为coincbc:x86-windows)。 - 配置环境变量:将vcpkg安装目录下的
installed/x64-windows/bin(对应架构路径)添加到系统PATH,确保动态库可被找到。
若手动安装预编译库:
- 下载对应系统架构的CoinCbc预编译包,解压后将以下路径分别添加到对应环境变量:
- 库文件目录 → LIB环境变量
- 头文件目录 → INCLUDE环境变量
- 动态库目录 → PATH环境变量
三、创建并配置Rust项目
- 新建项目:执行
cargo new good_lp_demo && cd good_lp_demo。 - 修改
Cargo.toml添加依赖:
若需静态链接(避免动态库依赖问题),可改为[dependencies] good_lp = { version = "0.20", features = ["cbc"] }features = ["cbc-static"]。 - 替换
src/main.rs内容为示例代码:use std::error::Error; use good_lp::{constraint, default_solver, Solution, SolverModel, variables}; fn main() -> Result<(), Box<dyn Error>> { variables! { vars: a <= 1; 2 <= b <= 4; } // variables can also be added dynamically let solution = vars.maximise(10 * (a - b / 5) - b) .using(default_solver) // multiple solvers available .with(constraint!(a + 2 <= b)) .with(constraint!(1 + a >= 4 - b)) .solve()?; println!("a={} b={}", solution.value(a), solution.value(b)); println!("a + b = {}", solution.eval(a + b)); Ok(()) }
四、运行项目
在项目目录下执行cargo run,正常情况下会输出求解结果:
a=1 b=3 a + b = 4
注意事项
- 架构一致性:确保Rust工具链的架构(x86/x64)与CoinCbc库的架构完全匹配,否则会出现链接失败。
- 环境变量生效:修改环境变量后,需重启终端或IDE,确保新配置被读取。
- 静态链接优先:若遇到动态库找不到的问题,优先使用
cbc-static特性进行静态链接,无需额外配置动态库路径。
内容的提问来源于stack exchange,提问作者Rust94
相关产品推荐
相关产品推荐

