🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Rust

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

Q&A

解決済

1回答

5549閲覧

VSCode上でコードの実行が出来ません。

SCphoenix2

総合スコア1

Rust

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

0グッド

0クリップ

投稿2021/02/13 07:12

前提・実現したいこと

VSCodeで最近、Rustの勉強を始めたのですが、コードを実行しようとすると下記のようなエラーが出ます。
エラーの内容からディレクトリの場所が悪いのかなと推察するのですが、設定、修正する要領などが分からず、VSCodeのWebサイトで探しても該当しそうな説明が見つかりませんでした。

発生している問題・エラーメッセージ

launch: program 'プログラム名を入力してください(例:C\User\●●\OneDrive\ドキュメント\---)' (※ ●●はユーザー名、---はパス)

また、エラーボックスの下には、
「launch.jsonを開く」というボタンが出てきます。

ソースコード自体はシンプルなものでチュートリアル等に乗っているものです。
エラーはデバッグ、実行に関するものでコード自体は関係ないと思われます。
当初はとりあえず下記のもので試しています。

fn main() { println!("Hello, world!"); }

試したこと

C、C++でも同様のエラーが出ます。
Rustも含め、必要な拡張機能はインストールしています。

補足情報(FW/ツールのバージョンなど)

Windows10,VSCodeとも最新のヴァージョンにアップしています。
また上記のパスにも出てくる通りOneDriveを使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Windowsの環境がないので自分では試せていませんが...

以下のC/C++関連の記事によると、C/C++ではフォルダ名に日本語が含まれるとコンパイルエラーになるそうです。

・OSのユーザ名は英数字のみから構成され,日本語(全角)文字を含んでいないこと.

・OneDrive上ではない ドキュメントフォルダ(例えばC:\Users\自分のユーザ名\Documents)の配下などにフォルダを作っておく(ここではProgsとする).
・OneDriveでは,「ドキュメント」というように日本語のフォルダ名がそのままシステム上でも使われる.フォルダ名に日本語が含まれると,後のコンパイルでエラーとなるので注意.

Rustでも同様なのかは分かりませんが、この記事がおすすめしている方法を試してみてください。

  1. C:\Users\自分のユーザ名\DocumentsProgsというフォルダを作る
  2. PowerShellなどでProgsフォルダに移動し、cargo new hello-cargoを実行する
  3. VS Codeでhello-cargoフォルダ(Cargo.tomlのあるフォルダ)を開く

VS CodeのRust向けの拡張機能はrust-analyzer(matklad.rust-analyzer)をおすすめします。VS Code上でsrc/main.rsを開くと、fn main()の上に「Run | Debug」と表示されますので、Runをクリックしてください。

これでもうまくいかない場合は以下ができるかどうか試してください。

  1. PowerShellなどでhello-cargoフォルダへ移動し、cargo runを実行する。

Hello, world!と表示されるなら、RustツールチェーンとMSVCリンカのインストールは成功している。(MSVCリンカは、Rustツールチェーンをインストールする前にVisual C++ Build Toolsでインストールしておく必要があります)

投稿2021/02/13 11:38

編集2021/02/13 11:46
tatsuya6502

総合スコア2046

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SCphoenix2

2021/02/13 21:22

tatsuya様 はじめまして。早速のコメント、またお調べ頂き、誠にありがとうございます。 とりあえずフォルダ名については日本語は含まれておらず、問題ありませんでした。 まだRustでは試せていませんが、手動で(コピペで)ディレクトリの位置を変えてみるのと幾つか操作をすると、Cではとりあえずコンパイル出来、動きました。 Rustでは、拡張機能が幾つかあるようなのですが、ご提示いただいたものはまだ入れていなかったため、改めてトライしてみます。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問