是否可以指定额外的头文件,包括从命令行(使用GCC 4 / C++)?
或者除了#include之外,还有其他方法可以包含文件吗?
背景:我正试图在自己的PC上编译一个大型代码库。代码通常在集群中编译,使用复杂的构建系统(SoftRelTools,有人吗?),它与操作系统交织在一起,因此几乎不可能将其安装在其他地方(实际上有数百个makefile和shell脚本,以及到网络驱动器的硬编码路径)。然而,实际的代码是相当简单的,编译良好,但它缺少了很多包含(主要是一个la“include <vector>
“和“include <math.h>
“)。我猜构建系统通常会处理这个问题,但我必须手动检查代码并添加包含,我宁愿避免这种情况。
3条答案
按热度按时间zynd9foi1#
I found-include选项。这就是你想要的吗
处理文件时,将“#include“file”“作为主源文件的第一行。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录。如果在那里没有找到,它将在“#include“..."”搜索链的剩余部分中正常搜索。
如果给出了多个-include选项,则文件将按照它们在命令行上出现的顺序包括在内。
afdcj2ne2#
GCC手册:
处理文件,就像“
#include "file"
“出现在主源文件的第一行一样。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录。如果在那里没有找到,它将在“#include "..."
“搜索链的剩余部分中正常搜索。如果给出了多个-include选项,则文件将按照它们在命令行上出现的顺序包括在内。
pu3pd22g3#
根据gcc文档,命令行开关“-include file”可以完成这项工作。