gcc - CMake 获取依赖头文件,如 gcc -M

标签 gcc makefile cmake

我正在分析一个CMake项目,我想获取源文件依赖的所有头文件。是否有类似 gcc -M 或 g++ -M 之类的工具或命令来列出 CMake 项目中一个文件的所有依赖项?如果我还可以获取每个头文件属于哪个 Target,那就更好了。

当然我不能直接使用g++ -M,因为它找不到CMakeLists.txt组织的一些依赖项。

由于 cmake 命令将生成 MakeFile,因此 Make 的工具或命令可能也适合我。

最佳答案

检查 CMake 项目的构建文件夹。对于每个目标,CMake 应生成一个名为 C.includecache 的文件。该文件包含包含依赖项信息。

例如,如果您有一个 main.c 文件,其中包含 stdio.hmath.h header 。 C.includecache 文件将包含如下条目:

/path/to/main.c
stdio.h
-
math.h
-

关于gcc - CMake 获取依赖头文件,如 gcc -M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61379324/

相关文章:

c++ - 使用 GCC 强制执行显式(直接)#include 语句

C语言,如何包含从 "XXX.h"到<XXX.h>的文件”,也许使用Makefile?

linux - Scons:如何强制重建?

c - 如何将编译选项从目标传播到 Cmake 上的所有其他目标

c - 限制内置类型的大小

c++ - 通过 ctor 右值参数的 Lambda 赋值

android - 我可以在 android p 中使用 android.mk 吗?我有忍者 : error: unknown target 'MODULES-IN-xxxx'

c++ - 使用 cmake 为 Eclipse CDT 生成的项目

C++ cmake 抛出错误

c++ - 从 Foo** 到 void** 的无效转换 - 为什么允许隐式类型转换为 void* 但不允许为 void**?