我想识别我选择作为C ++项目起点的特定文件的所有包含文件,然后识别那些包含文件的所有包含文件,依此类推,直到我拥有我需要的所有内容编译我选择的文件作为我的起点。
背景:我正试图从项目的“中间”获取一个文件并“解除”它及其所有依赖项。我可以手动执行此依赖项检查,但在Xcode IDE中无法看到任何明显的自动执行方式。
任何帮助表示赞赏!
答案 0 :(得分:0)
您使用什么编译器?如果是MSVC ++,那么看一下选项的用法:/ P,/ EP / P. 使用g ++时,请尝试cpp utility。
两种方式都允许您使用所有包含构建文件(包含的文件的名称将作为注释包含在内)
答案 1 :(得分:0)
我不知道Xcode本身对此有任何支持。但是,自己做起来并不困难,特别是如果它只是你感兴趣的一个文件。
您可以将-E
标记添加到g++
以使其在预处理源文件后停止。预处理的源文件将包含提及所有#include
d文件的注释。可以通过简单的grep
调用来提取这些行。
Xcode可以告诉你在编译文件时传递给g++
的参数的完整列表,如果你转到Build > Build Results
,开始构建,然后点击最右边的椭圆形的椭圆形这句话说“编译somefile.cpp ......”
Doxygen工具可以从源文件和头文件中呈现#include
的图形。这很好,但对于你想做的事情可能有点重量级。