如何使用不同版本的Rust编译器构建依赖关系?

如何使用不同版本的Rust编译器构建依赖关系?,rust,rust-cargo,Rust,Rust Cargo,我有一个用1.33工具链构建的生锈项目。我需要在板条箱上添加一个依赖项,该板条箱只能通过Rust nightly构建,如何在依赖项中指定它应该通过nightly构建?您不能。Rust没有稳定的ABI,并且不可能在同一个项目中混合使用不同版本的编译器构建板条箱 您必须使用夜间编译器编译整个项目,您可以使用它。您不能。Rust没有稳定的ABI,并且不可能在同一个项目中混合使用不同版本的编译器构建板条箱 您必须使用夜间编译器编译整个项目,您可以使用。如果我使用夜间编译器构建新的板条箱,我可以将结果.r

我有一个用1.33工具链构建的生锈项目。我需要在板条箱上添加一个依赖项,该板条箱只能通过Rust nightly构建,如何在依赖项中指定它应该通过nightly构建?

您不能。Rust没有稳定的ABI,并且不可能在同一个项目中混合使用不同版本的编译器构建板条箱


您必须使用夜间编译器编译整个项目,您可以使用它。

您不能。Rust没有稳定的ABI,并且不可能在同一个项目中混合使用不同版本的编译器构建板条箱


您必须使用夜间编译器编译整个项目,您可以使用。

如果我使用夜间编译器构建新的板条箱,我可以将结果.rlib链接到我的主项目吗?@WiredWolf如果您的主项目没有使用相同版本的编译器,则不可以。您的意思是,如果我得到预构建,来自某人的专有rust库必须使用我正在使用的工具链的相同版本进行编译才能使用它?是的。这并不像看上去那么奇怪。(事实上,据我所知,微软还没有就ABI的稳定性做出任何承诺,他们只是碰巧自VSC++2015年以来没有改变ABI)。也许有一天Rust会有一个稳定的ABI来解决这些问题,但现在,编译器可以在不同版本之间更改任何内容;如果我用nightly构建新的板条箱,我能得到结果.rlib并将其链接到我的主项目吗?@WiredWolf如果你的主项目没有使用相同版本的编译器,那么不会。你的意思是,如果我得到预构建,来自某人的专有rust库必须使用我正在使用的工具链的相同版本进行编译才能使用它?是的。这并不像看上去那么奇怪。(事实上,据我所知,微软还没有就ABI的稳定性做出任何承诺,他们只是碰巧自VSC++2015年以来没有改变ABI)。也许有一天Rust会有一个稳定的ABI来解决这些问题,但现在,编译器可以在不同版本之间更改任何内容;