记录一次VS CODE调试过程中include头文件报错的解决办法

一、背景

在调试C++程序的过程中,#include 报错说无法引用。这让我非常好奇,为什么直接引入可以,但是不行呢?

二、调试过程

1、看看为什么能直接引入iostream

右键头文件中的,点击Go to Definition打开iostream
记录一次VS CODE调试过程中include头文件报错的解决办法_第1张图片
可以看到iostream在我的电脑里被放在了/Library/Developer/CommandLineTools/usr/include/c++/v1/iostream下。
也可以右键iostream,选择在文件夹中显示:
记录一次VS CODE调试过程中include头文件报错的解决办法_第2张图片

记录一次VS CODE调试过程中include头文件报错的解决办法_第3张图片
我们可以看到在这个路径下,除了iostream,还有好多其他头文件的定义,vs code头文件引入就是在这个路径下查找的。

2、新建bits/stdc++.h

那么我猜想,是不是在这个路径下新建一个bits/stdc++.h,程序就不会报错了呢?

在/Library/Developer/CommandLineTools/usr/include/c++/v1/目录下新建一个bits文件夹,然后在此文件夹下新建一个stdc++.h
从github上找到bits/stdc++.h的内容:https://gist.github.com/Einst...,复制粘贴到里面。

然后重新回到要调试的程序中,debug c/c++,发现程序可以运行,撒花!!!

三、总结

遇到头文件不存在时,先查看编译器/IDE是从哪个目录引用的头文件,然后在此目录下补充缺失的头文件即可。

你可能感兴趣的:(记录一次VS CODE调试过程中include头文件报错的解决办法)