前提・実現したいこと
C++を学習しています。VSCodeでC++のプログラムを書いているのですが、includeエラーが消えません。消えなくてもコンパイルは普通に通りますし正常に実行できるのですが、エラーが消えないのは気になるので質問させていただきました。どなたかご教示いただければと思います。
該当のソースコード
C++
#include <iostream>
試したこと
まずこのようなエラーメッセージが出ました。
#include エラーが検出されました。includePath を更新してください。この翻訳単位 (ファイル名.cpp) では、波線が無効になっています。C/C++(1696) ソース ファイルを開けません "iostream"C/C++(1696)
includePathを更新しろ、とのことなのでc_cpp_properties.jsonを編集しました。
iostreamが入っているフォルダを探してそのパスをincludePathに追加し、そしてコンパイラのパスをcompilerPathに追加しました。
JSON
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", //この行を追加しました "C:/msys64/usr/lib/gcc/x86_64-pc-msys/9.1.0/include/c++/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "cStandard": "c11", //この行を追加しました "compilerPath": "C:/msys64/usr/bin/g++.exe", "intelliSenseMode": "msvc-x64" } ], "version": 4 }
エラーメッセージは次のように変わりました。
#include エラーが検出されました。includePath を更新してください。この翻訳単位 (ファイル名.cpp) では、波線が無効になっています。C/C++(1696) ソース ファイルを開けません "locale.h" (dependency of "iostream")C/C++(1696)
iostreamは認識したようですが、locale.hが読み込めないようです。
locale.hはiostreamが入っているフォルダ(c++)の中に一緒にありました。
環境
エディタは最新版のVSCode、ターミナルはmsys2、コンパイラはg++9.1.0を使用しています。
まだ回答がついていません
会員登録して回答してみよう