可食用小柠檬 发表于 2022-4-26 22:25:58

makefile中gcc命令怎么寻找在子目录中的头文件

需要的头文件都放在当前目录的子目录下,在书写makefile的gcc命令时怎么指定搜索子目录呢?命令该怎么写
例如头文件有a.h和b.h,放在当前目录的子目录include下了,a.c和b.c放在当前目录的子目录src下,gcc在编译main.c时怎么指定路径搜索*.h和*.c文件呢?

jackz007 发表于 2022-4-26 22:25:59

本帖最后由 jackz007 于 2022-5-1 13:49 编辑

      *.c 不可以用搜索功能确定,参与编译的每一个 *.c 文件都必须明确给定文件路径及文件名;只有 *.h 和 lib*.so 才可以在指定及系统路径下搜索确定。
      以下编译命令附加指定 3 个 *.h 文件优先搜索路径
gcc -IC:\Bin\gcc11.2.0\Include1 -IC:\Bin\gcc11.2.0\Include2-IC:\Bin\gcc11.2.0\Include3 -o x x.c
      楼主可以照葫芦画瓢。

木木不哭like 发表于 2022-4-29 16:50:45

本帖最后由 木木不哭like 于 2022-4-29 16:52 编辑

-I 头文件路径
-L 库文件路径
gcc main.c -I 头文件路径 -L库文件路径

雷欧库珀 发表于 2022-4-29 20:42:31

建议cmake

可食用小柠檬 发表于 2022-5-4 09:43:52

jackz007 发表于 2022-4-26 22:25
*.c 不可以用搜索功能确定,参与编译的每一个 *.c 文件都必须明确给定文件路径及文件名;只有 *.h...

非常感谢
页: [1]
查看完整版本: makefile中gcc命令怎么寻找在子目录中的头文件