在测试项目中出现include嵌套引用的情况。即main函数会include “src/core.hpp”,其中core.hpp 在项目目录的scr文件夹下。在include这个头文件时没有问题,但这个文件里面的嵌套引用会找不到。
因为src中的头文件(包括core.hpp)互相引用,都是这个格式(src文件互相引用不需要加"src/")。显然是把include双引号寻文件的根目录设置为项目根目录,解决这个问题需要修改项目的配置文件。
项目根目录如图
其中src文件如图,很多头文件有互相include。
在不修改vscode配置文件时,会报错core.hpp的include失败。
为此需要设置g++编译器的参数。对此,需要调整vscode的配置文件task.json。在调用g++编译程序时的信息存储在这里。主要是args中的参数。
g++通过参数-i设置双引号include的寻找目录。在里面添加"-I"(字母i要大写)选项和参数"${workspaceFolder}",该参数表示寻找的目录是项目根目录。
再执行程序时就没有报错了。
如果程序执行需要参数,同理可以修改task.json配置文件。