在Intellij IDEA 2017中构建新的Rust“Project from Project”时,我无法通过其UI运行该项目 .
C:/Users/sjsui/.cargo/bin/cargo.exe运行错误:货物运行必须有货柜目标流程已完成退出代码101
我注意到我的构建配置没有提供--bin目标,所以我将路径放到项目目标文件夹中;同样的结果 .
C:/Users/sjsui/.cargo/bin/cargo.exe运行--bin C:\ Users \ sjsui \ exercism \ rust \ hello-world \ target \ debug错误:没有bin目标名为C:\ Users \ sjsui \ exercism \防锈\你好世界\目标\调试
我尝试通过Cargo命令行界面创建一个新的Rust项目,并在运行时收到此错误:
错误:无法执行链接器link.exe:系统找不到指定的文件 . (os error 2)注意:msvc目标依赖于msvc链接器但找不到link.exe注意:请确保使用Visual C选项安装了VS 2013或VS 2015
显然我必须安装2017年的Visual C构建工具,并且我正在这样做 . 这些错误是相关的还是不同的问题?
2 回答
默认情况下,Cargo会将文件
src/main.rs
视为程序包的主要二进制目标 . 如果此文件不存在,并且Cargo.toml
中没有定义其他二进制目标,则会出现此错误 .According to the documentation,在IntelliJ IDEA中创建Rust项目时,您可以选择使用二进制(应用程序)模板 . 这应该给你一个
src/main.rs
而不是src/lib.rs
(这是库目标的默认根文件) . 在命令行上使用Cargo,您还可以使用cargo new --bin创建应用程序包(不使用--bin
,Cargo创建库) .在
cargo run
命令上使用--bin
时,如果Cargo.toml
中没有[[bin]]
部分,则参数引用Cargo.toml
中的[[bin]]部分之一,或者模式src/bin/*.rs
之后的文件(参数替换*
) . 例如,cargo run --bin foo
将编译并在Cargo.toml
中使用name = "foo"
运行src/bin/foo.rs
或[[bin]]
部分 .除了弗朗西斯加涅的好答案..如果有人想知道如何解决这个错误:
然后按照this guide over at github.