2

我正在尝试用一个非常小的示例来尝试 Rocket Web 框架。但是,Rocket (0.4.2) 不会与 nightly rustc 一起编译。(使用 Ubuntu linux。)

我正在使用夜间 rustc (2019-09-05) 进行构建。刚刚做了一个 rustup 来尝试最新的 rustc。我正在使用这些版本:

  • nightly-x86_64-unknown-linux-gnu('/work/cd/rusty/cdbackend' 的目录覆盖)
  • rustc 1.39.0-nightly (618768492 2019-09-05)
  • 火箭0.4.2

我收到以下错误:

error: /work/cd/rusty/cdbackend/target/debug/deps/librocket_codegen-33108ba93258cfa7.so: undefined symbol: __rustc_plugin_registrar_a555dc3e7aee69391ac43d72ccd8fe72__
 --> src/main.rs:2:11
  |
2 | #![plugin(rocket_codegen)]
  |           ^^^^^^^^^^^^^^

error: aborting due to previous error

关于将编译哪个版本的任何想法?

4

2 回答 2

3

首先感谢@Gardener 的上述回复。它促使我查看 Rocket 的最新示例。

它不是版本的问题,但宏已经改变。我在这里记录下来帮助别人。

旧代码(产生错误报告):

#![plugin(rocket_codegen)]

extern crate rocket;

被新的宏取代:

#[macro_use] extern crate rocket;
于 2019-09-11T09:56:13.303 回答
0

如果您能提供更多信息,将会有所帮助。Rocket 与 nightly-2019-09-05 编译良好——刚刚确认。

git clone https://github.com/SergioBenitez/Rocket
cd Rocket
git checkout v0.4.2
cd examples/hello_world
cargo run

这适用于最新的火箭 0.4.2 和最新的每晚。

您似乎正在尝试使用 Rocket_codegen。在添加rocket_codegen之前确认上述工作。

一旦上述工作正常,您可能需要尝试以下操作:

echo 'rocket_codegen = "0.4.2"' >> Cargo.toml
cargo build
于 2019-09-06T21:23:32.660 回答