c++ - 如何从依赖文件(.d)中消除某些(非系统) header ?

标签 c++ makefile dependencies gnu-make

我们链接到一个由许多头文件组成的库(TAO)。

每次我在 cpp 文件(g++ -MM $< $@)上运行预处理器命令时,这些库文件都会自动包含在生成的每个 .d 文件中。

就我们而言,这些显然不是系统文件并且几乎从不更改,因此我想从我的 .d 文件中删除它们。

除了使用 sed 过滤掉这些头文件之外,是否有任何内置方法可以实现这一点?

最佳答案

您可以使用 -isystem 指示 gcc 将某些路径视为系统 header ;和 g++ -MM 忽略系统 header 。

关于c++ - 如何从依赖文件(.d)中消除某些(非系统) header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459298/

相关文章:

c - 制作 Target 依赖源列表

java - Play Framework 1.2 : How to add custom module dependencies

java - 如何修复全部 "com.android.support libraries must use the exact same version "

c++ - 在编译器中运行,在线拒绝

c++ - boost::multi_array View 和子数组之间有什么区别

makefile - 产生多个目标的配方

makefile - 如何从Makefile中的.env文件加载和导出变量?

java - 关于依赖共享的 Maven 多模块项目组合

c++ - 如何使用 STL 字符串和流读取/存储 unicode

c++ - 从声明为 std::set<std::shared_ptr<Edge>> edges_ 的 edges_ 中删除边;