GCC 找不到指定了 -I 选项的头文件

GCC can't find header file with -I option specified

我有这个源文件

//src.c
#include "include/headers/my_header.h"

并且 gcc 失败并出现此错误 include/headers/my_header.h: No such file or directory

gcc my_src/src.c -Iinclude/headers

但是,如果我像这样重写源文件就可以正常工作:

//src.c
#include "my_header.h"

现在,我实际上是在编译一个我继承的项目,所以我不想重写所有的 include 语句。给出了什么?

-I 之后与 #include 语句中任何内容相连的路径必须与文件系统中的路径相匹配。尝试 -I.,这会导致 ./include/headers/my_header.h,并且可能会让 GCC 找到您的 header。