对于单箱项目,按预期将这些行添加到Cargo.toml中即可。

[profile.release]
panic = "abort"

然后构建项目:
cargo build --release

但是,在一个间接使用依赖项的项目中,我遇到了一个错误。
    Compiling c_vec v1.0.12
error: the linked panic runtime `panic_unwind` is not compiled with this crate's panic strategy `abort`

error: aborting due to previous error

Build failed, waiting for other jobs to finish...
error: Could not compile `c_vec`.
c_vec crate 是间接使用的依赖项。

如何在无冲突的多箱子项目中使用panic=abort

如果有影响,请提供详细信息:
  • Rustc 1.12.0
  • 有问题的图书馆:lodepng-rust
  • Linux,64位
  • 最佳答案

    看起来是因为c_vecdylib指定为其库类型之一。

    我在Github上将其作为问题提交:https://github.com/rust-lang/cargo/issues/2738

    并从一位开发者那里得到了答案:



    当然,您必须派出自己的lodepngc_vec来解决此问题。

    关于rust - 如何将panic = abort与外部依赖项一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39844260/

    10-10 06:51