使用命令行选项包含头文件?

是否可以指定额外的头文件包括从命令行(使用GCC 4 / C + +)?

还是有没有其他方式的文件可以包括除了#include?

背景:我正在试图在我自己的PC上编译一个庞大的代码库。 代码通常是编译在一个集群中的,一个复杂的构build系统(SoftRelTools anybody?),与操作系统交织在一起,这样几乎不可能把它安装在别的地方(几百个makefile和shell脚本,编码path到networking驱动器)。 然而,实际的代码是相当简单的,并且编译得很好,但是缺less很多include(主要包括“ include <vector> ”和“ include <math.h> ”)。 我猜编译系统通常会处理这个问题,但是我必须通过代码并手动添加包含,我宁愿避免。

我find了-include选项。 这是你想要的吗?

– 包括文件

处理文件就好像“#include”文件“”出现在主源文件的第一行。 但是,search文件的第一个目录是预处理程序的工作目录,而不是包含主源文件的目录。 如果在那里没有find,则在正常情况下在“#include”…“”search链的其余部分中search它。

如果给出多个-include选项,则这些文件将按照它们在命令行上出现的顺序包含在内。

从gcc手册:

– 包括文件

处理文件就好像“ #include "file" ”出现在主源文件的第一行。 但是,search文件的第一个目录是预处理程序的工作目录,而不是包含主源文件的目录。 如果在那里没有find,则在正常情况下在“ #include "..." ”search链的其余部分中search它。

如果给出多个-include选项,则这些文件将按照它们在命令行上出现的顺序包含在内。

根据gcc的文档,命令行开关“-include file”将完成这项工作。