質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

2545閲覧

VScode+WSLで始めるプロ用C++ の環境構築で発生しているエラーの解決策

patagi

総合スコア2

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

1クリップ

投稿2021/12/14 16:21

前提・実現したいこと

初質問なので拙いところもあると思いますが、よろしくお願いします。

AtcoderをC++で行うために、VScodeで環境構築をしています。
環境構築を行っていく途中で、様々なエラーが発生してうまくいかないので、「どうしたら解決するのか」(できれば「なぜこうなっているのか」も合わせて)教えていただけたら幸いです。

発生しているエラー)
1)ターミナル→タスクの機構 で表示される tasks.json が .vscode フォルダ内に入ってくれないのですが、どうしたらよいのでしょうか。.vscode のフォルダ内に人為的に移動させても問題はないのでしょうか。

2)C++の冒頭のインクルードの部分で「#include <bits/stdc++.h>」に対して、「#include エラーが検出されました。includePath を更新してください。この翻訳単位 (C:\Atcoder\ABC\86\a.cpp) では、波線が無効になっています。C/C++(1696)」というエラー構文が出ているのですが、これはどういった内容のエラーなのでしょうか。また、どのようにしたら解決できるのでしょうか。

3)「ctrl + Shift + B」でタスクの実行を行ったのですが、ターミナルで
「/bin/bash: g++: command not found ターミナル プロセス "C:\Windows\System32\wsl.exe g++ -std=gnu++1y -g -O0 -I/opt/boost/gcc/include -L/opt/boost/gcc/lib -o wslpath 'C:\Atcoder\problem.exe' wslpath 'c:\Atcoder\ABC\86\a.cpp'" が終了コード 127 で終了しました。」
という風なエラーメッセージが出ているのですが、どうしたらよいのでしょうか。

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

エラーメッセージ

該当のソースコード

ソースコード

試したこと

全部の問題に対して、VScodeのアンインストール、初期化、WSL(Ubuntu 20.04 LTS)のアンインストールと再インストール、PCの再起動
1)人為的に動かしてバグるのが怖かったので特に何もできていません。
2)「bin」へのバスを色々絶対パス参照にしたりと、試したのですが、エラーが出なくなる代わりに実行ができなくなるといった二次被害が出てしまい、デフォルトのままにしています。
3)「g++」をインストールするコマンド「$ sudo apt install build-essential -y」と「$ sudo apt install gdb -y」をWSL内で何回か行っているのですが、変化がありません。

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

Windows Windows 10
VScode 最新版
WSL Ubuntu 20.04 LTS

ここにより詳細な情報を記載してください。

環境構築をする際に参考にしたサイトは以下のサイトです。
https://qiita.com/2019Shun/items/5ab290a4117a00e373b6>
上記サイトの手順を1から真似して行っていたのですが、できませんでした。
同タイミングでやった友人は問題なくできているので、自分のPC側に問題があるのでしょうか。
2日ほど悩んで様々なことを行ったのですが、上手くいかなかったので、助けてほしいです。

3つすべてに対してではなくてもよいので、一つでも予測でも解決策が浮かんだ方がいらっしゃったら教えていただきたいです。
よろしくお願いします。

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

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

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

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

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

Bull

2021/12/15 05:50

当方では拡張機能の "Remote - WSL" を使用して、WSL に接続してコンパイル/デバッグを行っているので、参考サイトの記事のように"Remote - WSL" を使用しないで設定する方法については回答できな いのですが、もしかしたら記事の内容が古いのかも知れません。 VScode は結構頻繁にアップデートされていて、今年になってからターミナル/シェル関連でかなりの変更がありました。 参考記事の手順通りに進めていっても、開発環境を整えることができないかもしれません。 "Remote - WSL" を使用すれば、参考記事のような面倒な設定は必要無いです。"Remote - WSL" を使用して、開発環境を構築する選択肢はありますか?
patagi

2021/12/15 13:57

追記ありがとうございます。 Remote-WSL を利用する方法の方が問題がなさそうなのであれば、そちらを検討してみたいのですが、何か参考になるサイトなどがあれば教えていただきたいのですが、可能でしょうか?
guest

回答2

0

設定手順をむやみに繰り返しやり直すのでなく、ひとつひとつの手順が何をしているのかを理解して、正しくその効果が得られているかを確認していったらいかがですか? 即解決にはなりませんが、すくなくともどこが悪いのかの情報は得られるでしょう。

gcc/gdbのツール類をインストールしたのなら、gcc/g++やgdbは単独で起動できるのでしょうか。

以降、VSCodeの扱いはあまり把握していないのでお力になれるかどうかわかりませんが、

VSCodeの拡張機能のインストールはまぁ確認のしようもないかな。

.vscode フォルダ内に入ってくれない

とは現実として「どういう結果になった」のでしょう。あなたの思い通りでないことはわかりますが、思い通りでないということ自体は問題の解決に役に立たないので、やった操作、起こった結果を「そのまま」教えて下さい。

で、思うのですが、参照先のQiitaで触れられていませんが、[統合ターミナルの設定]以降はなんらかのフォルダを開いておいてから行う作業ではないのか、と。参照先のQiitaのページで言えば、ATCoderというフォルダを開いているように見えますが、そのようにしているでしょうか?
(フォルダを開いていないと、.vscodeフォルダを掘ってそこにファイルを格納、とかできませんからね)

投稿2021/12/14 23:13

thkana

総合スコア7703

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

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

patagi

2021/12/15 03:38

回答ありがとうございます。 もう少し自分で何とかしてみたいと思います。 ありがとうございました。
guest

0

ベストアンサー

VScodeWSLGCCでの開発環境を整えるにはRemote - WSLWSLに接続して行うのが比較的簡単であろうかと思います。

「wsl vscode gcc」検索するといろいろ見付かりますが、とりあえず公式サイトです
Linux 用 Windows サブシステムで Visual Studio Code の使用を開始する

設定などの手順については
VSCodeでの競プロ向けC++環境をWSLにRemote Developmentする形で作る
がわかりやすいと思います。

WSL から Windows のフォルダーは/mnt/c/~みたいな感じでアクセスできるので、Windows のエクスプローラーでフォルダーを作成しておいて、Remote - WSLでリモート接続してから作成したフォルダーを開けばいいと思います。(二度目からは履歴から開くことも可能です)
もちろん WSL 側にフォルダーを作成して、そこをワークスペースにしてもかまいません。

いろいろなサイトで紹介されている手順を見ればわかると思いますが、Remote - WSLのインストールなどに多少の時間はかかりますが、その後の設定はほとんどすることはないです。

設定ファイル (.json) は VScode から「タスクの構成」とか「構成の追加」で自動的に ./.vscode に作られます。
とりあえずコンパイル/デバッグするのでしたら、デフォルトの構成でも問題ないです。

投稿2021/12/16 01:10

Bull

総合スコア986

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

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

patagi

2021/12/16 02:46

なるほど。 分かりやすくありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問