我按照《The Rust 编程语言》一书中的说明构建了一个猜谜游戏,但是每当我尝试在 VSCodium(VSCode 的开源版本)终端中运行我的代码(通过命令
Cargo run
)时,由于以下错误,我的代码拒绝运行:
no targets specified in the manifest
either src/lib.rs, src/main.rs, a [lib] section, or [[bin]] section must be present
这是我的 Cargo.toml 文件的样子:
[package]
name = "GuessingGame"
path = "src/GuessingGame.rs"
version = "0.1.0"
edition = "2021"
authors = ["my name <[email protected]>"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
版本: VSC钠:1.73.1 操作系统:Zorin OS 16.2
我尝试将
[package]
更改为[[bin]]
和[lib]
,但它给了我更多错误,是:
this virtual manifest specifies a [lib] section, which is not allowed
和
this virtual manifest specifies a [[bin]] section, which is not allowed
要获得所需的配置,您需要分别指定包和目标。
[package]
name = "GuessingGame"
version = "0.1.0"
edition = "2021"
[[bin]]
name = "GuessingGame"
path = "src/GuessingGame.rs"
[dependencies]
也就是说,请不要覆盖路径。当 Rust 项目坚持标准项目布局(由 Cargo 自动检测到)时,它们的可读性更强。
为此,请使源文件的名称为
src/main.rs
而不是 src/GuessingGame.rs
,并完全从 [[bin]]
中删除 path
部分和 Cargo.toml
。构建的可执行文件仍将自动命名为 GuessingGame
,因为这是您的包名称。
可能是脚本所在路径太长,我就是这样,尝试放在磁盘根目录下。