因為原博客太長將部分內容分開
此問題可能會隨着vscode的更新而得到解決以至於本文內容變得無意義
目前最新版本似乎已經不再需要了
vscode找不到頭文件的問題是由於windows下vscode默認的編譯器是微軟的MSVC(vs使用的編譯器)的頭文件路徑
如果你沒有安裝vs肯定會因為找不到頭文件而報錯
如果你安裝了vs卻同樣報錯
1.你錯誤配置了vscode的配置文件
2.你使用了在MSVC頭文件庫中並不存在的頭文件比如bits/stdc++.h
修復這個問題有兩個方法:
1.修改配置文件
2.將需要的頭文件拷貝到vs的頭文件路徑中去
如果電腦沒有安裝vs而安裝的mingw系列,只能通過修改配置文件來解決
修改配置文件的方法:
在.vscode文件夾下新建一個 c_cpp_properties.json 文件
將下面這段代碼粘貼進去
其中,要將includePath選項更改為你mingw編譯器的安裝路徑下的lib/gcc/x86_64-w64-mingw32/8.1.0/include文件夾路徑
{ "configurations": [ { "name": "Win32", "includePath": [ "C:/Program Files/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "gcc-x64" } ], "version": 4 }
對於非標准庫中的頭文件,也可以通過列表追加的方式將路徑追加到includePath中去
比如
"includePath": [ "C:/Program Files/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"path1",
"path2",
...
],
修改頭文件的方法:
首先你必須安裝了微軟vs系列中的一個比如visual stdio 2017 Community
然后找到安裝路徑下的頭文件路徑
默認的是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
然后將你需要的頭文件粘貼進這個文件夾
這樣能讓MSVC和mingw擁有同樣的頭文件庫
但你需要明白編譯使用的是那個庫是由編譯器決定的,修改MSVC的庫只是讓vscode在默認情況下(沒有c_cpp__properties.json文件)實時報錯不顯示錯誤和能夠補全代碼
實際編譯是需要根據每個編譯器的特性來進行操作的
vscode非常靈活,不像eclipse那樣呆板臃腫,沒有離不開的IDE,只要明白一個操作的大致原理,就可以憑我們想象去發揮了