在 VS Code 中,可以使用 C/C++ 扩展来实现跨文件包含 .h 头文件。
步骤如下:
(一)使用的cpp 文件和要使用的.h 文件在同一个文件夹中
在 VS Code 中打开需要使用头文件的源文件。
在源文件中使用 #include 指令引入需要的头文件。
例如,要引入一个名为 "example.h" 的头文件,可以在源文件中添加以下代码:
#include"example.h"
(二) 二者如果不在同一个文件夹的话
那么就需要加上相对路径和绝对路径了 如果在一个工程项目的话 可以使用“../ ”表示在此文件夹上一级再去引用同一个
举例
data1 和data2 文件目录结构如下,核心核心代码test.cpp,data1 里面有test.h 可以直接引用 data2的话可以使用相对路径,当然也可以使用绝对路径。同一个项目的使用相对路径非常的方便和java 导入包很像
主要cpp 代码 点击可以直接运行,
##include
#include
// #include
#include"test.h"
#include
//使用相对路径和绝对路径来配置C++ 的头文件问题
#include"../data2/Person.h"
using namespace std;
void test01(){
TreeNode *head=new TreeNode(2);
listNode *node=new listNode(1);
Person p(20,"liuBei");
cout<
cout<
cout<<"hello"< } int main() { test01(); system("pause"); return 0; } Person.h代码 #include using namespace std; class Person{ public: int age; string name; Person(int x,string name):age(x),name(name){} int GetAge(){ return this->age; } }; struct listNode{ int val; listNode *next; listNode(int x):val(x),next(nullptr){} }; test.h 代码 #include using namespace std; struct TreeNode{ int val; TreeNode *left; TreeNode *right; //TODO: TreeNode(int x):val(x),left(nullptr),right(nullptr){} }; ====================================================================== 2023.8.19 补充,如果头文件和函数内容的文件分开编写如何处理呢?即一个文件定义头,一个文件写函数的实现。说到这里就需要 想到linux 下面的Makefile 文件的编写了。 见我的文章: linux 系统中vi 编辑器和库的制作和使用_cat_fish_rain的博客-CSDN博客 linux系统--makefile文件,gdb 以及文件描述符_cat_fish_rain的博客-CSDN博客 这里详细得说明了制作库和编译的方法。 。现在说明解决办法:在tasks.json 文件里面添加如下,"${fileDirname}\\*.cpp",并且注释掉 “${file}。就可以了 { "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", "command": "G:\\mingw\\mingw64\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", // "${fileDirname}\\*.cpp", 想要编译多个包含自定义头文件的代码,就需要把这一行加上,这行会编译当前目录下所有的.cpp 文件 //,所以需要保证所有的cpp 文件都没有错误,并且没有和主项目的不相关(没用上的不报错,但是没用) "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "-std=c++17", ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "调试器生成的任务。" } ], "version": "2.0.0" } ====================================================== 补充想要更加深入的理解里面 的内容就需要一下三篇文章的内容,看完一下的肯定可以解决这块的问题: cmake和vscode 下的cmake的使用详解(一)。-CSDN博客 cmake和vscode 下的cmake的使用详解(二)-CSDN博客 cmake和vscode 下的cmake的使用详解(三)-CSDN博客 喜欢的点赞,收藏一下,你的鼓励就是进步的更大动力。 精彩内容
发表评论