C++ 有没有一种方法可以在不修改每个源文件的情况下在每个编译单元中包含一个头文件?

C++ 有没有一种方法可以在不修改每个源文件的情况下在每个编译单元中包含一个头文件?,c++,gcc,g++,include,C++,Gcc,G++,Include,鉴于以下情况: 具有数千个C++源文件的大型项目 没有公共头文件(每个源文件中都没有包含一个头文件) 该项目是用g++编写的,由make管理 是否有任何方法可以在不修改每个源文件以包含新头文件的情况下将定义(例如宏)包含到每个编译单元中?您可以使用“-D”gcc命令行选项来执行此操作 示例:gcc-ansi-Wall-Dblah='mymacrohere()'blah.cpp 另请参见:曼恩gcc的: -包含文件 处理文件,就像“#包含“文件”显示为 主源文件。但是,搜索到的第一个目录 文件

鉴于以下情况:

  • 具有数千个C++源文件
  • 的大型项目
  • 没有公共头文件(每个源文件中都没有包含一个头文件)
  • 该项目是用g++编写的,由make管理
是否有任何方法可以在不修改每个源文件以包含新头文件的情况下将定义(例如宏)包含到每个编译单元中?

您可以使用“-D”gcc命令行选项来执行此操作

示例:
gcc-ansi-Wall-Dblah='mymacrohere()'blah.cpp

另请参见:曼恩gcc的

-包含文件

处理文件,就像“#包含“文件”显示为 主源文件。但是,搜索到的第一个目录 文件是预处理器的工作目录,而不是目录 包含主源文件。如果在那里找不到,它就是 在“#include”…”搜索链的其余部分中搜索 像平常一样。 如果提供了多个包含选项,则文件将包含在 它们在命令行上的显示顺序


完美的我显然只是在读“mang++”,它不包含完整的文档。