我的工作区有两个板条箱,我希望一个使用另一个。大致:
├── Cargo.toml:
│ [workspace]
│ members = [ "alpha", "beta", ]
├── alpha/
│ ├── Cargo.toml:
│ │ [package]
│ │ name = "alpha"
│ │ edition = "2021"
│ │ ...
│ └── ...
└── beta/
├── Cargo.toml:
│ [package]
│ name = "beta"
│ edition = "2021"
│ [dependencies]
│ alpha = { path = "../alpha" }
│ ...
└── ...
但是,当我在
use alpha::something
中的代码中写入 beta
时,出现错误 use of undeclared crate or module alpha
。奇怪的是,VSCode 似乎了解发生了什么,看到 alpha 中的代码,并基于它提供自动完成功能。然而,锈迹分析仪对此并不满意。
我已经检查了版本匹配,双重检查了路径,多次清理了构建,并验证了
alpha
中没有其他 beta
模块。我完全困惑了。
有关如何解决此问题的任何提示?
这意味着包
alpha
不提供可供编译器编译beta
所依赖的库包。造成这种情况的常见原因是:
alpha/src/lib.rs
文件。alpha/Cargo.toml
为不包含 crate-type
(或 "lib"
或 "rlib"
)的库声明 "dylib"
。如果这些都不能解决问题,请更新您的问题以包含
alpha/Cargo.toml
的完整内容。