目前在写一个stm32单片机和电脑通信的小项目,需要同时写电脑端和单片机端的代码,所以不同的bin要编译到不同的平台。
除了在命令行里面用--target <triple>
显式选择编译目标以外,还有什么办法为每个[[bin]]
指定不同的目标吗?
PS:我正在尝试用cargo workspace。把不同平台的代码分开到两个package或许能解决问题,还在尝试中。
1
共 3 条评论, 1 页
目前在写一个stm32单片机和电脑通信的小项目,需要同时写电脑端和单片机端的代码,所以不同的bin要编译到不同的平台。
除了在命令行里面用--target <triple>
显式选择编译目标以外,还有什么办法为每个[[bin]]
指定不同的目标吗?
PS:我正在尝试用cargo workspace。把不同平台的代码分开到两个package或许能解决问题,还在尝试中。
评论区
写评论cargo workspace是个比较优雅的方案
建议直接分两个crate,然后用一个shell脚本来控制,简单易懂。什么都只用一个cargo来做,实在没有必要。
cargo b --release --features feature-a cargo b --release --features feature-b
https://doc.rust-lang.org/cargo/reference/cargo-targets.html#binaries
不知道能不能满足需求。