gcc -I adds include directory of header files.
$ gcc -Idir [options] [source files] [object files] [-o output file]
proj/src/myheader.h:
// myheader.h
#define NUM1 5
myfile.c:
// myfile.c
#include <stdio.h>
#include "myheader.h"
void main()
{
int num = NUM1;
printf("num=%d\n", num);
}
Build myfile.c without include directory proj/src :
$ gcc myfile.c -o myfile
myfile.c:2:22: fatal error: myheader.h: No such file or directory
compilation terminated.
$
Build myfile.c with include directory proj/src :
$ gcc -Iproj/src myfile.c -o myfile
$ ./myfile
num=5
$