如何解决用于特定CPU的Rust Cargo构建和交叉编译
我想为不同的目标体系结构(例如Skylake和Sandy Bridge)编译两个二进制文件。 通常是两个冗长的货运命令:
RUSTFLAGS =“-C target-cpu = skylake”货物建造--target x86_64-unknown-linux-gnu --release
如何设置货物以从同一main.rs自动构建两个二进制文件(名称不同)?
理想的情况是放在config.toml
或Cargo.toml
中,这样我就可以将其添加到存储库中。
解决方法
您可以将以下文本添加到config.toml
:
[build]
target = x86_64-unknown-linux-gnu
rustflags = ["-C","target-cpu=skylake"]
[profile.dev] #do not need to add `--release` now
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false
lto = false
panic = 'unwind'
incremental = false
codegen-units = 16
rpath = false
但是似乎无法使用一个config.toml
来为两个不同的目标体系结构进行编译,因此您可能必须创建两个config.toml
并使用cargo --manifest-path PATH/TO/CONFIG
来分别编译两个二进制文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。