gcc -MMD 省略本地头文件

gcc -MMD omits local header files

提问人:SRobertJames 提问时间:9/28/2023 最后编辑:SRobertJames 更新时间:9/28/2023 访问量:72

问:

我用 调用 gcc,它列出了一些但不是全部的头文件。-MMD

我已将 FreeRTOS 源代码复制到我的项目中,通过 包含这些文件,并在 Makefile 中设置路径,它们会正确显示在输出中。#include <...>-I-MMD

但该标准不会出现在 MMD 输出中。#include "...."

如何解决(或调试)此问题?


更新

我在 Ubuntu 上使用。arm-none-eabi-gccgcc version 10.3.1 20210621

c gcc makefile include include-path

评论

1赞 Jason 9/28/2023
奇怪。。。我的 gcc 省略了该命令的系统标头(如暗示的那样。 包含系统和本地。您使用的是哪个版本的 gcc?gcc -v --helpgcc -MD
0赞 SRobertJames 9/28/2023
@Jason 更新了 gcc 版本。 添加系统包含,但仍省略我的项目包含。也许我的使用令人困惑?-MD#pragma once
2赞 Eugene Sh. 9/28/2023
创建一个包含一个和一个文件的简单测试项目,并对这些文件进行试验,无论是否使用。如果无法弄清楚,请在此处发布您的测试代码、编译命令和输出。.c.h#pragma once
2赞 Eugene Sh. 9/28/2023
我推测问题就在那里。取消 makefile 的静音并检查执行的命令,也许它们没有得到你认为应该得到的选项。
2赞 John Bollinger 9/28/2023
您是否正在使用 or 选项?那些与 GCC 对哪些目录是系统头目录的感觉相悖的人。-isystem-idirafter

答: 暂无答案