「貨物輸送」にはビンターゲットが利用可能である必要があります。質問する

「貨物輸送」にはビンターゲットが利用可能である必要があります。質問する

Intellij IDEA 2017 で新しい Rust「他のソースからのプロジェクト」を構築しているときに、UI を介してプロジェクトを実行できませんでした。

C:/Users/sjsui/.cargo/bin/cargo.exe 実行エラー: binターゲットが使用可能である必要がありますcargo run

プロセスは終了コード 101 で終了しました

ビルド構成で --bin ターゲットが提供されていないことに気づいたので、プロジェクトのターゲット フォルダーへのパスを配置しましたが、結果は同じでした。

ここに画像の説明を入力してください

C:/Users/sjsui/.cargo/bin/cargo.exe run --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 エラー 2) 注: MSVC ターゲットは MSVC リンカーに依存していますが、link.exe見つかりませんでした

注: VS 2013 または VS 2015 が Visual C++ オプションでインストールされていることを確認してください。

明らかに Visual C++ ビルド ツール 2017 をインストールする必要があり、現在インストール中です。これらのエラーは関連しているのでしょうか、それとも別の問題でしょうか?

ベストアンサー1

デフォルトでは、Cargo は ファイルをsrc/main.rsパッケージのメイン バイナリ ターゲットと見なします。このファイルが存在せず、 に他のバイナリ ターゲットが定義されていない場合はCargo.toml、このエラーが発生します。

文書によるとIntelliJ IDEAでRustプロジェクトを作成すると、バイナリ(アプリケーション)テンプレートを使用するsrc/main.rs. これにより、 (ライブラリターゲットのデフォルトのルートファイル)の代わりにが返されますsrc/lib.rs。コマンドラインでCargoを使用すると、次のようにアプリケーションパッケージを作成することもできます。cargo new hello

Cargo はデフォルトで を使って--binバイナリ プログラムを作成します。ライブラリを作成するには を渡します--lib

--binコマンドで使用する場合cargo run、引数は次のいずれかを参照します。[[bin]]内のセクション、または内にセクションがない場合はCargo.tomlパターンに続くファイルsrc/bin/*.rs( は引数で置き換えられます) 。たとえば、 は内の を含むセクションをコンパイルして実行するか、または内のを含むセクションをコンパイルして実行します。*[[bin]]Cargo.tomlcargo run --bin foosrc/bin/foo.rs[[bin]]name = "foo"Cargo.toml

おすすめ記事