前提・実現したいこと
MinGW-w64とVSCodeの組み合わせで、C++開発を行いたいのですが、
coutメソッドを使おうとするとエラーになります。
ご教示お願いします。
該当のソースコード
C++
1#include <iostream> 2using namespace std; 3 4int main(){ 5 cout << "Hello World"; 6 return 0; 7}
json
1{ 2 "configurations": [ 3 { 4 "name": "Win32", 5 "includePath": [ 6 "C:/msys64/mingw64/include/c++/9.2.0/**", 7 "C:/msys64/mingw64/x86_64-w64-mingw32/include/**", 8 "${workspaceFolder}/**" 9 ], 10 "defines": [ 11 "_DEBUG", 12 "UNICODE", 13 "_UNICODE" 14 ], 15 "windowsSdkVersion": "8.1", 16 "cStandard": "c11", 17 "cppStandard": "c++17", 18 "intelliSenseMode": "msvc-x64" 19 } 20 ], 21 "version": 4
エラーメッセージ。
"std" があいまいです 識別子 "cout" が定義されていません
試したこと
下記のように書き換えた所、
#include <iostream> int main(){ std::cout << "Hello World"; return 0; }
下記のエラーメッセージに変わりました。
"std" にメンバー "cout" がありません
追記。
tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "echo", "type": "shell", "command": "g++", "args":[ "-g", "${file}", "-o", "${fileBasenameNoExtension}" ], "group":{ "kind": "build", "isDefault": true }, "problemMatcher": [] } ] }
追記調査中。
c_cpp_properties.jsonにcompilerPathを追記して、g++.exeを指定しました。
エラーメッセージが微妙に変わりました。
識別子 "cout" が定義されていません
「"std" があいまいです」のエラーメッセージは消えたみたいです。
"compilerPath": "C:/mingw-w64/bin/g++.exe",
c_cpp_properties.jsonの内容は下記です。
{ "configurations": [ { "name": "Win32", "includePath": [ "C:/msys64/mingw64/include/c++/9.2.0/**", "C:/msys64/mingw64/x86_64-w64-mingw32/include/**", "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "8.1", "compilerPath": "C:/mingw-w64/bin/g++.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "msvc-x64" } ], "version": 4 }
エクスプローラに
C:\msys64\mingw64\bin\g++.exe
が存在していることを確認しています。
ちなみにusing namespace std;をコメントアウトして、
std::cout << "Hello World";
とした場合は下記エラーメッセージになります。
"std" にメンバー "cout" がありません
補足情報(FW/ツールのバージョンなど)
Windows 10
gcc(MinGW-w64)
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/10/22 03:59