gpt4 book ai didi

intellij-idea - "a bin target must be available for ' cargo 运行 '"

转载 作者:行者123 更新时间:2023-11-29 07:50:07 46 4
gpt4 key购买 nike

在 Intellij IDEA 2017 中构建新的 Rust“来自其他来源的项目”时,我无法通过其 UI 运行该项目。

C:/Users/sjsui/.cargo/bin/cargo.exe run error: a bin target must be available for cargo run

Process finished with exit code 101

我注意到我的构建配置没有提供 --bin 目标,所以我将路径放置到项目目标文件夹;同样的结果。

enter image description here

C:/Users/sjsui/.cargo/bin/cargo.exe run --bin C:\Users\sjsui\exercism\rust\hello-world\target\debug error: no bin target named C:\Users\sjsui\exercism\rust\hello-world\target\debug

我尝试通过 Cargo 命令行界面创建一个新的 Rust 项目,并在运行时收到此错误:

error: could not exec the linker link.exe: The system cannot find the file specified. (os error 2) note: the msvc targets depend on the msvc linker but link.exe was not found

note: please ensure that VS 2013 or VS 2015 was installed with the Visual C++ option

显然,我必须安装 Visual C++ 构建工具 2017,并且我正在这样做。这些错误是相关的还是不同的问题?

最佳答案

默认情况下,Cargo 会将文件 src/main.rs 视为包的主要二进制目标。如果此文件不存在,并且 Cargo.toml 中没有定义其他二进制目标,您将收到此错误。

According to the documentation ,当您在 IntelliJ IDEA 中创建 Rust 项目时,您可以选择使用二进制(应用程序)模板。这应该给你一个 src/main.rs 而不是 src/lib.rs (这是库目标的默认根文件)。在命令行上使用 Cargo,您还可以使用 cargo new hello 创建应用程序包.

Cargo defaults to --bin to make a binary program. To make a library, we'd pass --lib.

当您在 cargo run 命令上使用 --bin 时,参数指的是 [[bin]] 之一Cargo.toml 中的部分,或遵循模式 src/bin/*.rs 的文件(参数替换 *)如果没有[[bin]] 部分在 Cargo.toml 中。例如,cargo run --bin foo 将编译并运行 src/bin/foo.rs[[bin]] 部分在 Cargo.toml 中使用 name = "foo"

关于intellij-idea - "a bin target must be available for ' cargo 运行 '",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48979557/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com