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

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

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

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

C++

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

Q&A

解決済

2回答

6476閲覧

VSCodeにおけるC++プログラムビルド時のエラーについて

Soybeanman

総合スコア15

GCC

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

C++

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

0グッド

0クリップ

投稿2022/01/03 13:23

編集2022/01/04 09:10

前提・実現したいこと

VSCodeで以下のプログラムをビルドして実行したいのですが、エラーが出てしまいます。
解決方法はないのでしょうか?
初心者で初歩的な質問かもしれませんが、ご教授していただけるとありがたいです。

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

アラートでのエラー

launch:program 'c:\Users\user\Desktop\hogehoge\hoge.exe' does not exist ('launch.json'を開く)(キャンセル)

ターミナルでのエラーなど

C:/MinGW/bin/gcc.exe -fdiagnostics-color=always -g C:\Users\user\Desktop\hogehoge\hoge.cpp -o C:\Users\user\Desktop\hogehoge\hoge.exe c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData\Local\Temp\ccHViWy7.o: in function `main': C:/Users/user/Desktop/hogehoge/hoge.cpp:7: undefined reference to `std::cin' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:7: undefined reference to `std::istream::operator>>(int&)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:26: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:26: undefined reference to `std::basic_ostream<char, std::char_traits<char > >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32 /bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp :28: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:28: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../.. /mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std ::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits <char> >&)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin /ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32 /9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))' c:/mingw/bin/../lib/gcc /mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData\Local\Temp\ccHViWy7.o : in function `_tcf_0': c:/mingw/lib/gcc/mingw32/9.2.0/include/c ++/iostream:74: undefined reference to `std::ios_base::Init::~Init()' c:/mingw/bin/../lib/gcc /mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData \Local\Temp\ccHViWy7.o: in function `_static_initialization_and_destruction_0': c:/mingw/lib/gcc/mingw32/9.2.0/include /c++/iostream:74: undefined reference to `std::ios_base::Init::Init ()' collect2.exe: error: ld returned 1 exit status ビルドが完了しましたが、エラーが発生しました。

該当のソースコード

hoge.cpp

c++

1#include <bits/stdc++.h> 2using namespace std; 3 4int n; 5 6int main() { 7 cin >> n; 8 9 if (!(n % 2)) { 10 for (int i = 0; i < pow(2,n); i++) { 11 int c = 0; 12 13 for (int j = 0; j < n; j++) { 14 if (i & (1 << j)) { 15 c++; 16 } else { 17 if (c-- == 0) { 18 break; 19 }; 20 } 21 } 22 23 if (c == 0) { 24 for (int j = n - 1; j >= 0; j--) { 25 if (i & (1 << j)) { 26 cout << ')'; 27 } else { 28 cout << '('; 29 } 30 } 31 cout << endl; 32 } 33 } 34 } 35}

task.json(修正前)

{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe アクティブなファイルのビルド", "command": "C:\MinGW\bin\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$g++" ], "group": "build", "detail": "デバッガーによって生成されたタスク。" }, { "type": "cppbuild", "label": "C/C++: g++.exe アクティブなファイルのビルド", "command": "C:/MinGW/bin/g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "C:/MinGW/bin" }, "problemMatcher": [ "$g++" ], "group": { "kind": "build", "isDefault": true }, "detail": "デバッガーによって生成されたタスク。" }, { "type": "cppbuild", "label": "C/C++: cl.exe アクティブなファイルのビルド", "command": "cl.exe", "args": [ "/Zi", "/EHsc", "/nologo", "/Fe:", "${fileDirname}\${fileBasenameNoExtension}.exe", "${file}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$msCompile" ], "group": "build", "detail": "コンパイラ: cl.exe" } ], "version": "2.0.0" }

task.json(修正後)

{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe アクティブなファイルのビルド", "command": "C:\MinGW\bin\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$g++" ], "group": "build", "detail": "デバッガーによって生成されたタスク。" },/* { "type": "cppbuild", "label": "C/C++: g++.exe アクティブなファイルのビルド", "command": "C:/MinGW/bin/g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\${fileBasenameNoExtension}.exe" ], "problemMatcher": [ "$g++" ], "group": { "kind": "build", "isDefault": true }, "detail": "デバッガーによって生成されたタスク。" },*/ { "type": "cppbuild", "label": "C/C++: cl.exe アクティブなファイルのビルド", "command": "cl.exe", "args": [ "/Zi", "/EHsc", "/nologo", "/Fe:", "${fileDirname}\${fileBasenameNoExtension}.exe", "${file}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$msCompile" ], "group": "build", "detail": "コンパイラ: cl.exe" } ], "version": "2.0.0" }

launch.json

{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "gcc.exe - アクティブ ファイルのビルドとデバッグ", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "C:/MinGW/bin/gdb.exe", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: gcc.exe アクティブなファイルのビルド" } ] }

c_cpp_properties.json

{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "C:/Program Files (x86)/Microsoft Visual Studio/include/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.18362.0", "compilerPath": "C:/MinGW/bin/g++.exe", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }

試したこと

VSCode下部にある、ターミナルにて、gcc -o hoge hoge.cppを実行し、ビルドを試みましたが失敗しました。
また、bits/stdc++.hはワークスペースを作成するときに同時に作成される.vscode/c_cpp_properties.jsonの"includePath"にて

c_cpp_properties.json

1... 2 "includePath": [ 3 "${workspaceFolder}/**", 4 "C:/Program Files (x86)/Microsoft Visual Studio/include/**" 5 ] 6...

と書き、C:/Program Files (x86)/Microsoft Visual Studio/include/bits/stdc++.hが#includeで参照されるように指定しています。

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

VSCodeのバージョン: 1.63.2 (user setup)
OS: Windows_NT x64 10.0.19043

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

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

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

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

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

thkana

2022/01/03 13:35

とりあえずC++をコンパイルするときはg++なのが普通なんだけど、なんでgccになってるのかしら...(gccでもC++用にいろいろオプションをつければできなくはない。g++はその辺が設定済と考えてよい) コンパイルに失敗している=実行ファイルが生成できていないので、実行できないのは当然です。 > .vscode/c_cpp_properties.jsonの"includePath"にて 「コンパイルできない」件には関係ありません。 少なくとも手動で試すときはgccではなくg++で試してください。 c_cpp_properties.jsonのコンパイラ設定とかはどうなっているのかしら。
Soybeanman

2022/01/04 03:05

ご回答ありがとうございます。 >少なくとも手動で試すときはgccではなくg++で試してください。 試してみたところ、コンパイルできました。ありがとうございます。 >c_cpp_properties.jsonのコンパイラ設定とかはどうなっているのかしら。 c_cpp_properties.jsonのコンパイラ設定はこんな感じです。 "compilerPath": "C:\MinGW\bin\gcc.exe" このgccをg++に変えたりしましたがやはりエラーになります。 その他の設定は参考にしたサイトのものをそのまま移しています。 https://kurosute.com/vscode-gcc/#toc8 その他不足な点がありましたらコメントよろしくお願いします。
thkana

2022/01/04 03:44

> このgccをg++に変えたりしましたがやはりエラーになります。 まず全ての場合に「エラーになる」で思考停止するのはやめましょう。エラーは、内容を吟味するために出るのです。「駄目だった」で終わりにしては絶対にいけません。 エラーが出る、そのエラーは以前と全く変わらないのですか? 変わったところはありませんか? 逆に変わらなかったらおかしいです。 以前の(質問の)エラーメッセージ中には C:/MinGW/bin/gcc.exe という文字列が見えます。コンパイラをg++.exeに変えたはずなのにそれが変わっていないとすれば、それを看過してはいけません。設定を保存しないまま実行していないかなどの確認が必要になるでしょう。 エラーに変化があるのかないのか、ちゃんと確認してください。
thkana

2022/01/04 03:57

> その他の設定は参考にしたサイトのものをそのまま移しています。 それが正しいということはどのように確認していますか? その記事は、タイトルこそC/C++を謳っていますが、記事内容では(拡張機能の名前以外)すべて「C言語」としています。なので、そういうことなのではないでしょうか。 ネット上に転がっている文章なんてそんなものです。極論を言えば、正しい保証なんてこれっぽっちもないです。 なので、原則として「公式情報」を参照するのが一番。それが難しければいくつもの記事を突き合わせてみるなどするべきでしょう。
Crimson_Tide

2022/01/04 05:22

.vscode内のtasks.json と launch.json の追記掲載を質問欄にお願いします。
Soybeanman

2022/01/04 07:09

thkanaさん、Crimson_Tideさん、コメントありがとうございます。 >エラーが出る、そのエラーは以前と全く変わらないのですか? 変わったところはありませんか? 逆に変わらなかったらおかしいです。 失礼しました。エラー内容は以下の通りです。 指摘にあります、gccからg++に変わったというのはありませんでした。 C:/MinGW/bin/gcc.exe -fdiagnostics-color=always -g C:\Users\bigma\Desktop\hogehoge\hoge.exe -o C:\Users\user\Desktop\hogehoge\hoge.exe c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData\Local\Temp\ccHViWy7.o: in function `main': C:/Users/user/Desktop/hogehoge/hoge.cpp:7: undefined reference to `std::cin' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:7: undefined reference to `std::istream::operator>>(int&)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:26: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:26: undefined reference to `std::basic_ostream<char, std::char_traits<char > >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32 /bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp :28: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:28: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../.. /mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std ::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits <char> >&)' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin /ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std::cout' c:/mingw/bin/../lib/gcc/mingw32 /9.2.0/../../../../mingw32/bin/ld.exe: C:/Users/user/Desktop/hogehoge/hoge.cpp:31: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))' c:/mingw/bin/../lib/gcc /mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData\Local\Temp\ccHViWy7.o : in function `_tcf_0': c:/mingw/lib/gcc/mingw32/9.2.0/include/c ++/iostream:74: undefined reference to `std::ios_base::Init::~Init()' c:/mingw/bin/../lib/gcc /mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData \Local\Temp\ccHViWy7.o: in function `_static_initialization_and_destruction_0': c:/mingw/lib/gcc/mingw32/9.2.0/include /c++/iostream:74: undefined reference to `std::ios_base::Init::Init ()' collect2.exe: error: ld returned 1 exit status ビルドが完了しましたが、エラーが発生しました。 >それが正しいということはどのように確認していますか?(以下省略) ご教授ありがとうございます。以後気をつけます。 >.vscode内のtasks.json と launch.json の追記掲載を質問欄にお願いします。 不足点の指摘ありがとうございます。追記しました。 以上のファイルに含まれるgccを全てg++にしてみたところ、エラー内容が変わりました。 まず、コンパイルは正常に終了し、hoge.exeが生成されました。 その後、「Unable to start debugging.Unexpected GDB output from command "-environment-cd C:\\Users\\user\\Desktop\\hogehoge". C:\\Users\\user\\Desktop\\hogehoge:No such file or directory.」 とアラートが出ました。 そのようなファイル、ディレクトリはないとのことです。 エクスプローラーに打ち込み確認したところ、\\を\に変えないと正しいパスとして認識されないようです。 少し検索してみましたが自分の技量では解決できませんでした。 この件についてもご教授いただけたら幸いです。
Crimson_Tide

2022/01/04 08:25

https://teratail.com/questions/318821 \\user\は置き換えたものかと想像しますが、userが全角文字だったりしませんか? ちなみにソースファイルは、C:\Users\user\Desktop\hogehoge にあり、hoge.exeもここに生成されたのでしょうか? C:\\Users\\user\\Desktop\\hogehoge を c_cpp_properties.jsonなどの設定ファイルで直接指定している箇所はありますか? task.json に "label": "C/C++: g++.exe アクティブなファイルのビルド", タスクが2つあります。 launch.json内の以下の記述により、tasks.jsonのラベルが事前に実行されます。 "preLaunchTask": "C/C++: gcc.exe アクティブなファイルのビルド" これによりコンパイルして、デバッグという流れができているわけですが、"label":が重複しているのでどちらかが無効です。 手元で確認した限りだと後者が優先されました。 切り分けのためにもどちらかのlabelを変更するか、コメントアウトして動作確認してみてください。 2個目のcwd": "C:/MinGW/bin" は作業ディレクトリを"C:/MinGW/binに変更していますが、不要ですね。options毎削除しても問題ないと思います。 "options": { "cwd": "C:/MinGW/bin" },
Soybeanman

2022/01/04 09:19

Crimson_Tideさん、コメントありがとうございます。 >\\user\は置き換えたものかと想像しますが、userが全角文字だったりしませんか? 確認したところ半角文字にてエラーメッセージが出ており、実際のパスにおいても半角文字で書かれています。 >ちなみにソースファイルは、C:\Users\user\Desktop\hogehoge にあり、hoge.exeもここに生成されたのでしょうか? はい。ここに生成されました。なお、実際に生成されたexeファイルをエクスプローラーから実行してみたところ、問題なく動きました。 >C:\\Users\\user\\Desktop\\hogehoge を c_cpp_properties.jsonなどの設定ファイルで直接指定している箇所はありますか? 直接指定している箇所はありません。 質問欄にc_cpp_properties.jsonを追記しましたのでもしよろしければご確認いただけるとありがたいです。 >切り分けのためにもどちらかのlabelを変更するか、コメントアウトして動作確認してみてください。 お手元でのご確認ありがとうございます。 "label":の前者と後者、2回に分けてコメントアウトして動作確認してみたところ、先ほどのエラーと同様に 「Unable to start debugging.Unexpected GDB output from command "-environment-cd C:\\Users\\user\\Desktop\\hogehoge". C:\\Users\\user\\Desktop\\hogehoge:No such file or directory.」 と出ました。 >2個目のcwd": "C:/MinGW/bin" は作業ディレクトリを"C:/MinGW/binに変更していますが、不要ですね。options毎削除しても問題ないと思います。 アドバイスありがとうございます。 削除して動作確認してみたところ上記と同じエラーが発生しました。 以上の修正を施したtask.jsonの概要を質問欄に追記しましたので、よろしければ誤った点がないかご確認いただき、誤った点がございましたらご指摘いただけると助かります。
thkana

2022/01/04 09:46

自分ではVSCodeをその使い方していないのでそろそろ脱落かなぁ... どこから'\\'が湧いてきてるかですねぇ。内容的にはVSCodeの内部変数?から取得しているところのような気がするのですけれど。WSCodeの左端の検索(虫眼鏡)アイコンをクリックして、プロジェクト内から -environment-cd を検索したらどんなのが引っかかるでしょうか。gdbのコマンドを生成しているところを見てみる、という意図ですが。
Crimson_Tide

2022/01/04 10:02

「ファイル」-[フォルダーをワークスペースに追加]で[C:\Users\user\Desktop\hogehoge"]フォルダを追加して試してみてください。
Crimson_Tide

2022/01/04 12:30

各.jsonをコピーして極力条件合わせてやってみましたが、パスに全角文字がある場合ぐらいしか再現できないですね。 切り分けのため、D:\temp\hogehogeとか確実に半角なフォルダで試してみてもらえませんか。
Soybeanman

2022/01/05 09:37

thkanaさん、コメントありがとうございます。 >自分ではVSCodeをその使い方していないのでそろそろ脱落かなぁ... ここまで付き合って頂いて本当に感謝です。非常に助かりました。 >WSCodeの左端の検索(虫眼鏡)アイコンをクリックして、プロジェクト内から -environment-cd を検索したらどんなのが引っかかるでしょうか。 検索してみましたが何も候補にあがりませんでした。 environmentのみで検索した場合ではlaunch.jsonにて"environment": []の部分のみが引っ掛かりました。 Crimson_Tideさん、コメントありがとうございます。 >「ファイル」-[フォルダーをワークスペースに追加]で[C:\Users\user\Desktop\hogehoge"]フォルダを追加して試してみてください。 フォルダ名を実際に行っていたファイル名ではなくhogehogeで追加して試してみたところ、F5キーでexeファイル生成から実行まで問題なく動きました!! >各.jsonをコピーして極力条件合わせてやってみましたが、パスに全角文字がある場合ぐらいしか再現できないですね。 >切り分けのため、D:\temp\hogehogeとか確実に半角なフォルダで試してみてもらえませんか。 試してみたところ、F5キーでexeファイル生成から実行まで問題なく動きました!! /hogehogeの部分が実際にはより長いパスでしたので大文字を見落としていました。 おかげさまで何とか解決することができました。問題解決に向け、数日間にわたって真摯に対応して下さった皆さま、本当にありがとうございました。 これにて解決方法がわかりましたので、僭越ながら自己解決方法欄にて紹介させていただきます。
guest

回答2

0

自己解決

質問への追記・修正、ベストアンサー選択の依頼欄、y_waiwaiさんの解答、解答につけられたコメントでの皆さんのお力添えにより解決方法がわかりましたので自己解決欄に紹介させていただきます。

1.VSCodeにてフォルダーを開き、1回目のデバッグの開始で生成された.vscodeフォルダー内のtask.json、launch.jsonのコードを弄らない。
弄っていた場合(今回の場合)にはコードに含まれるgccをg++に置換する。
または.vscodeフォルダーを消し、デバッグを開始して手を加えていない.vscodeフォルダーを再生成する。

2.ソースコードのあるパスに全角文字が含まれているとエラーになるため、半角のみで構成されたパスになるようにフォルダーを移動するなどする。

3.初期状態では別枠で実行してくれないのでlaunch.jsonの"externalConsole"をtrueにする。

4.初期状態ではこのソースコードの場合、#include <bits/stdc++.h>で別のエラーが発生する。
i.ソースコードの該当行をクリックする。
ii.電球マークから"includePath"設定を選択。
iii.開かれたC/C++Configurationsからc++propertiesを選択。
初期状態だとc++propertiesが生成される。
iv.開かれたc++propertiesの"includePath"の箇所を以下のように変更する。

... "includePath": [ "${workspaceFolder}/**", "C:\Program Files (x86)\Microsoft Visual Studio\include\**"//←bits/stdc++.hが存在するパスを指定する。 ], ...

5.以上を全て終えた状態で実行し、エラーが解消したのを確認する。

以上が解決方法になります。
不手際がありましたらコメントにてお伝えいただけるとありがたいです。

投稿2022/01/05 09:44

編集2022/01/05 09:51
Soybeanman

総合スコア15

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

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

0

C:/Users/user/Desktop/hogehoge/hoge.cpp:7: undefined reference to `std::cin'

エラー・メッセージを読もう
提示されてるキーワードが未定義だ、といってます

投稿2022/01/03 14:56

y_waiwai

総合スコア87774

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

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

Soybeanman

2022/01/04 03:13

未定義なのはわかりましたが、なにせ初心者なものでこの関数をどのようにして読み込むのかが理解できていません…… おそらく最初の#includeがうまく行っていないかそのincludeしたファイルにその関数が定義されていないかだと思います。 しかし、atCorderのコードテストでは正常に動きましたのでstdc++.h自体が正常に読み込めていれば定義されていない、ということはないはずですので前者の問題かと思いました。 stdc++.hのダウンロード元は https://perogram.hateblo.jp/entry/2019/07/14/082658 にて紹介されているものです。 より詳しくご教授いただけるとありがたいです。
thkana

2022/01/04 03:40

エラーメッセージから起こっていることの根本を読み取れ、というのはこの場合についてはちょっとレベルの高い要求でしょう。 読め、というのは簡単だけど、説明なしにはちょっと。
thkana

2022/01/04 03:50

そうそう、stdc++.hを使うのは競技プログラミングの人なんだろうけど、一般のプログラミングに於いては「なんでもぶちこんでおいて手間を減らそう」という考えはトラブル時に解決を難しくしたりするとして嫌われることもあるやり方だ、というのは一応知っておいてもいいでしょう。 using namespace std; も同様。なんでヘッダがそれぞれ分かれているのか、namespaceが切られているのか、という辺り、ちょっと思いを馳せてみては。
y_waiwai

2022/01/04 05:22

なんのエラーがわからないというレベルの人にこういうエラーだ、と教えるのは無駄なんかもしれませんが、そこから始めないと話は始まらないわけで。 質問の修正欄でもいってますが、そもそもC++でコンパイルされていないってことはないでしょうか。
Soybeanman

2022/01/04 08:22

thkanaさん、アドバイスありがとうございます。 安易に省略しようとする考え方はトラブルの元になる場合もあるということを、配慮してプログラミングするようにします。 y_waiwaiさん、コメントありがとうございます。 アドバイスを元に調べた結果、gccはC言語用のコンパイラを呼び出す命令であり、g++に変えることがまず必要だったということが分かりました。 質問への追記・修正、ベストアンサー選択の依頼においてのコメントとほぼ同じにはなりますが、task.json、launch.json、c_cpp_properties.jsonに含まれる、gccをg++に置換した結果を書かせていただきます。 gccをg++に置換した結果 task.json、launch.json、c_cpp_properties.jsonに含まれるgccを全てg++にしてみたところ、エラー内容が変わりました。 その後、「Unable to start debugging.Unexpected GDB output from command "-environment-cd C:\Users\user\Desktop\hogehoge". C:\Users\user\Desktop\hogehoge:No such file or directory.」 とアラートが出ました。 そのようなファイル、ディレクトリはないとのことです。 エクスプローラーに打ち込み確認したところ、\を\に変えないと正しいパスとして認識されないようです。 少し検索してみましたが自分の技量では解決できませんでした。 この件についてもご教授いただけたら幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問