鉴于以下内容:
有没有办法在不修改每个源文件的情况下将定义(例如宏)包含到每个编译单元中以包含新的头文件?
答案 0 :(得分:15)
来自man gcc:
-include file
处理文件,好像“#include”文件“”出现在第一行 主要源文件。但是,搜索了第一个目录 file是预处理器的工作目录而不是目录 包含主要源文件。如果没有找到,那就是 在“#include”...“”搜索链的剩余部分中搜索 像平常一样。 如果给出了多个-include选项,则包含这些文件 它们出现在命令行上的顺序。
答案 1 :(得分:9)
您可以使用“-D”gcc命令行选项执行此操作。
示例:gcc -ansi -Wall -Dblah='mymacrohere()' blah.cpp