能否仅在Debug配置下启用Rust依赖Bevy的dynamic特性?
解决方案
完全不需要手动修改Cargo.toml切换特性,有两种常用方案可以实现Debug自动开启dynamic、Release自动禁用的效果:
方案1:本地配置默认开启,无需每次输入参数
这个方案配置一次后,直接执行cargo run/cargo build就会自动在Debug模式启用dynamic特性,Release模式自动禁用。
- 首先修改项目根目录的
Cargo.toml:
[dependencies] # 先移除默认附带的dynamic特性声明 bevy = "0.5.0" [features] # 自定义开发特性,关联Bevy的dynamic特性 dev-dynamic = ["bevy/dynamic"]
- 在项目根目录新建
.cargo文件夹,在文件夹内创建config.toml文件,写入如下内容:
[profile.dev] features = ["dev-dynamic"]
配置完成后所有Debug构建都会自动启用dynamic特性加快编译,执行cargo build --release时不会加载该配置,自动遵循官方建议禁用动态链接。
方案2:临时通过命令行指定,无需修改配置文件
如果不想修改项目配置,只需要在开发调试时运行带参数的命令即可:
- 开发调试执行:
cargo run --features bevy/dynamic - 发布构建执行:
cargo build --release
这种方式下发布构建默认不会启用dynamic特性,也不需要修改依赖声明。
注意:如果你的项目需要多人协作,建议把
.cargo/config.toml一并提交到代码仓库,其他协作者拉取代码后不需要额外配置就能直接使用规则。
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

