解决方法如下:
首先在c_cpp_properties.json
中的"includePath":[]
中加入你的头文件所在文件夹路径
当然这一步仅仅是告诉vscode头文件在哪,方便debug,但是gcc进行编译时并不知道。我们知道如果用g++ main.cpp -I 库路径 -o main
是直接可以编译成功的,那么我们只需要将告诉vscode使用我们自己定义的命令就可以了
一般有两种做法,第一种是在tasks.json
中的args键中加入 “-I 头文件路径”,如下:
"args": [
"-g",
"${workspaceFolder}\\src\\*.cpp",
"-o",
"${fileDirname}\\src\\${fileBasenameNoExtension}.exe",
"-I",
"头文件路径"
],
但这好像在某些情况下不太好用。
第二种做法是直接在setting.json
中设置:
"code-runner.executorMap": {
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -I '头文件路径' && $dir$fileNameWithoutExt",
}