当前位置: 代码迷 >> 综合 >> Rust:error[E0468]: an `extern crate` loading macros must be at the crate root 处理方法
  详细解决方案

Rust:error[E0468]: an `extern crate` loading macros must be at the crate root 处理方法

热度:14   发布时间:2023-12-12 15:23:52.0

下面代码包括两个源文件:

// sub.rs
#[macro_use] 
extern crate xxxx;
...// main.rs
...

编译的话会出现错误信息 “error[E0468]: an extern crate loading macros must be at the crate root 处理方法”。

原因是,我们需要在 sub.rs 文件中使用 xxxx 模块中的宏,但是在 sub.rs 中声明 #[macro_use] 为时已晚。这是 Rust 编译程序语法分析过程导致的。必须把声明在 main.rs 或 lib.rs 中声明才有效。

程序修改如下:

// sub.rs
extern crate xxxx;
...// main.rs
...
#[macro_use] 
extern crate xxxx;

再编译的话就没问题了!

  相关解决方案