作者:MR张尉诚 | 来源:互联网 | 2022-12-26 16:01
在Intellij IDEA 2017中构建新的Rust"Project from Project"时,我无法通过其UI运行该项目.
C:/Users/sjsui/.cargo/bin/cargo.exe运行错误:bin目标必须可用于 cargo run
处理以退出代码101结束
我注意到我的构建配置没有提供--bin目标,所以我将路径放到项目目标文件夹中; 同样的结果.
C:/Users/sjsui/.cargo/bin/cargo.exe运行--bin C:\ Users\sjsui\exercism\rust\hello-world\target\debug错误:没有bin目标命名 C:\Users\sjsui\exercism\rust\hello-world\target\debug
我尝试通过Cargo命令行界面创建一个新的Rust项目,并在运行时收到此错误:
错误:无法执行链接器link.exe
:系统找不到指定的文件.(os error 2)注意:msvc目标依赖于msvc链接器但未link.exe
找到
注意:请确保使用Visual C++选项安装VS 2013或VS 2015
显然我必须安装2017年的Visual C++构建工具,并且我正在这样做.这些错误是相关的还是不同的问题?
1> Francis Gagn..:
默认情况下,Cargo会将该文件视为src/main.rs
包的主要二进制目标.如果此文件不存在,并且没有定义其他二进制目标Cargo.toml
,则会出现此错误.
根据文档,当您在IntelliJ IDEA中创建Rust项目时,您将获得使用二进制(应用程序)模板的选项.这应该给你一个src/main.rs
而不是src/lib.rs
(这是库目标的默认根文件).在命令行上使用Cargo,您还可以使用cargo new hello
(不使用--bin
Cargo创建库)创建应用程序包.
当您--lib
在--bin
命令上使用时,参数引用其中一个cargo run
部分[[bin]]
,或者模式后面的文件Cargo.toml
(参数替换src/bin/*.rs
)如果没有*
部分[[bin]]
.例如,Cargo.toml
将编译并运行cargo run --bin foo
或src/bin/foo.rs
带有[[bin]]
in 的部分name = "foo"
.