前提・実現したいこと
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
回答2件
あなたの回答
tips
プレビュー