file structure:
project_root
|-- inc
|   |-- header.h
|-- src
|   |-- helpers.c
|   |-- main.c
header.h
#ifndef HEADER_H
# define HEADER_H
void    func(void);
#endif
helpers.c
void    func()
{
    /* do something */
}
main.c
#include "header.h"
int    main(void)
{
    func();
    return (0);
}
c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/inc",
            ],
            "defines": [],
            "macFrameworkPath": [
                "/System/Library/Frameworks",
                "/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}
tasks.json
    "tasks": [
        {
            "type": "shell",
            "label": "gcc build active file",
            "command": "/usr/bin/gcc",
            "args": [
                "-g",
                "-Wall",
                "-Werror",
                "-Wextra",
                "-o0"
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "group": {
            "kind": "build",
            "isDefault": true
            },
        }
    ],
    "version": "2.0.0"
}
When I build my program in VSCode, I get the following error.project_root/src/main.c:xx:xx: fatal error: 'header.h' file not found  
How do I avoid this error?
(How do I let the VSCode's build feature know where my header is?)  
I configured my include path(s) in c_cpp_properties.json, so I'm not getting the squiggles in main.c, where I include my header.  
I don't want to write #include "../inc/header.h" in main.c, so this would not be a solution for me.  
Adding The Include Directory Go to the Visual Studio Project Property Pages dialog (From the Project menu, select Properties, or right-click on the project in the Solution Explorer). Select Configuration Properties, C/C++, General, and then add $(PIXELINK_SDK_ROOT)\include to the Additional Include Directories field.
One option is Ctrl + Shift + E to select the Explorer, use the arrow keys to navigate to the target location, and then click the New File or New Folder button.
includePath An include path is a folder that contains header files (such as #include "myHeaderFile. h" ) that are included in a source file. Specify a list of paths for the IntelliSense engine to use while searching for included header files.
tasks.json, under the args property, using the -I flag.{
    "tasks": [
        {
            "type": "shell",
            "label": "gcc build active file",
            "command": "/usr/bin/gcc",
            "args": [
                "-g",
                "-Wall",
                "-Werror",
                "-Wextra",
                "-o0",
                "-I${workspaceFolder}/inc",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "group": {
            "kind": "build",
            "isDefault": true
            },
        }
    ],
    "version": "2.0.0"
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With