问题描述
使用VS Code编写C++程序时,想要引入自定义的头文件,但是遇到了“ No such file or directory”的问题
首先展示一下我的代码和文件目录结构:
- 头文件swap.h(存放在.vscode\headers\swap.h)
#include<iostream>
using namespace std;
//实现两个数字交换的函数声明
void swap(int a, int b);
- 头文件对应的源文件swap.c++(存放在.vscode\execute\swap.c++)
#include "swap.h"//用双引号来表示这个头文件是自定义的
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
}
- 源文件test.c++(存放在工程目录下)
#include "swap.h"
int main() {
int a = 100;
int b = 200;
swap(a, b);
return 0;
}
编译器报如下错误:
原因分析:
主要是因为没有配置
头文件
以及头文件对应的源文件
的目录导致的
解决方案:
- 配置c_cpp_properties.json
在c_cpp_properties.json
中配置头文件的包含路径,即includePath
参数,这里表示在工程目录下/.vscode/header目录下存放.h文件
- 配置task.json
首先需要写入“-I”,表示配置头文件信息
第一个表示在.vscode/headers目录下包含.h文件目录
第二个表示在.vscode/execute目录下包含.h文件对应的源文件目录
- 配置完成后,只需要将头文件全部放入.vscode/headers目录下,对应的源文件放入.vscode/execute目录下,就可以正确执行啦