これを順調に行っていくとまず
vscodeのユーザー設定で
"clang.executable": "clang++.exe" "clang.cxxflags": [ "-std=c++11" ]
のところは
"clang.cxxflags"に赤線がかれて注意されています
しかし実行する際にはこれといったエラーが出ないので続けていくと
インクルードパスが上手く行きません
c++
1#include <string.h> 2#include <cstdio> 3#include <climits> 4#include <cstdlib> 5#include <cmath> 6#include <iostream> 7#include <string> 8#include <vector> 9#include <map> 10#include <set> 11#include <bitset> 12#include <list> 13#include <stack> 14#include <queue> 15#include <algorithm> 16#include <numeric> 17#include <sstream> 18using namespace std; 19 20int main(){ 21 printf("hoge"); 22}
以上のようによく使うincludeを並べ
c_cpp_properties.jsonを
{ "name": "Win32", "intelliSenseMode": "clang-x64", "includePath": [ "${workspaceRoot}", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward", "C:/MinGW/lib/gcc/mingw32/6.3.0/include", "C:/MinGW/include", "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed" ], "defines": [ "_DEBUG", "UNICODE", "__GNUC__=6", "__cdecl=__attribute__((__cdecl__))" ], "browse": { "path": [ "C:/MinGW/lib/gcc/mingw32/6.3.0/include", "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed", "C:/MinGW/include/*", "C:/MinGW/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "cStandard": "c11", "cppStandard": "c++17" } ], "version": 4
このように設定したのですがincludeしたいのに全部赤線がひかれてしまいます
MinGWの保存先はデフォルトで行ったのでパスは合っているはずなのですが、認識してくれません
今までcをこのインクルードパスでできていたのですが
c++を使うために最初のサイトを参考にLLVM-clangのインストールを行ったのですができません
しかしve
とかうつと補間でvectorが表示されます
その詳細を見るとFile: stl_vector.hとかになっています
追記
一度c_cpp_properties.jsonを消して緑波線の電球マークを押し、新しく作成し
includePathの部分に同じパスをコピペすると
一番上の#include <string.h>
だけに赤線が引かれ
'string.h' file not found
とエラーが出ます
そのincludeの部分をコメントあるとすると次の#include <cstdio>
に赤線が引かれ、結果的にすべておこられてしまいます
browseの項目にもpathがありますがこれはどういう項目なんでしょうか
"browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true },
実行例
c++
1#include <string.h> 2#include <cstdio> 3#include <climits> 4#include <cstdlib> 5#include <cmath> 6#include <iostream> 7#include <string> 8#include <vector> 9#include <map> 10#include <set> 11#include <bitset> 12#include <list> 13#include <stack> 14#include <queue> 15#include <algorithm> 16#include <numeric> 17#include <sstream> 18#define rep(i, n) for(int i = 0; i < (int)(n); i++) 19using namespace std; 20 21int main(){ 22 printf("hoge"); 23 int x; 24 cin >> x; 25 vector<int> vc; 26 vc.push_back(x); 27 cout << vc[0] << endl; 28 return 0; 29}
このように書くとコンパイルは通るんですよね
しかし実行するとhogeもでず、何も出力されず実行が終わります。


