乐趣区

关于c++17:记录一次VS-CODE调试过程中include头文件报错的解决办法

一、背景

在调试 C ++ 程序的过程中,#include <bits/stdc++.h> 报错说无奈援用。这让我十分好奇,为什么间接引入 <iostream> 能够,然而 <bits/stdc++.h> 不行呢?

二、调试过程

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

右键头文件中的 <iostream>,点击 Go to Definition 关上 iostream

能够看到 iostream 在我的电脑里被放在了 /Library/Developer/CommandLineTools/usr/include/c++/v1/iostream 下。
也能够右键 iostream,抉择在文件夹中显示:

咱们能够看到在这个门路下,除了 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 是从哪个目录援用的头文件,而后在此目录下补充缺失的头文件即可。

退出移动版