在编译VScode时,会出现这样的报错:vscode会有下划线,说检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\C_Project\C+1\main.cpp)禁用波形曲线。C/C++(1696) 未能打开源文件 "iostream" (搜索列表中没有目录). 请运行“选择 IntelliSense 配置...”命令以定位系统标头。C/C++(1696) ESP-IDF Hint: OpenOCD process does not have permissions to access the USB JTAG/serial device. Please use 'LIBUSB_DEBUG=1 idf.py openocd' to find out the device name and check its access rights.

先说结论:

这并非编译失败,而是 VSCode 的 IntelliSense 引擎找不到标准头文件(如 iostream)。
它与能否 gdb 调试无关,也 不会影响最终生成可执行文件,但会让写代码时提示、跳转、补全全部失效。出现该提示的根本原因是 C/C++ 扩展没有正确拿到“系统包含目录”列表

解决办法:

打开终端,执行:
 

g++ -v -E -x c++ -

此时会出现:

在输出里找到以

#include <...> search starts here:

开头的那几行,把它们复制下来

如我的就是:

 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++
 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32
 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward
 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include
 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed
 E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include

注意:如果这条命令本身报错“找不到 g++”,说明系统 PATH 里根本没有 MinGW,要先配置环境变量;如果能打印路径,就继续下一步。

紧接着:在 VSCode 里
Ctrl+Shift+P → 输入并选择
C/C++: Edit Configurations (UI)

在打开的界面里找到
“包含路径”(Include path) 输入框,把刚才复制的那些路径一行行粘进去,行尾不要加分号,例如:

同一页面把
“编译器路径”(Compiler path) 指到 g++.exe

Ctrl+S 保存后,回到源码窗口,红色波浪线应立刻消失;若仍在,执行 Ctrl+Shift+PReload Window 重新加载一次即可

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐