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

1hdlvixo  于 2023-10-19  发布在  其他
关注(0)|答案(3)|浏览(171)

是否可以指定额外的头文件,包括从命令行(使用GCC 4 / C++)?
或者除了#include之外,还有其他方法可以包含文件吗?
背景:我正试图在自己的PC上编译一个大型代码库。代码通常在集群中编译,使用复杂的构建系统(SoftRelTools,有人吗?),它与操作系统交织在一起,因此几乎不可能将其安装在其他地方(实际上有数百个makefile和shell脚本,以及到网络驱动器的硬编码路径)。然而,实际的代码是相当简单的,编译良好,但它缺少了很多包含(主要是一个la“include <vector>“和“include <math.h>“)。我猜构建系统通常会处理这个问题,但我必须手动检查代码并添加包含,我宁愿避免这种情况。

zynd9foi

zynd9foi1#

I found-include选项。这就是你想要的吗

  • 包含文件
    处理文件时,将“#include“file”“作为主源文件的第一行。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录。如果在那里没有找到,它将在“#include“..."”搜索链的剩余部分中正常搜索。
    如果给出了多个-include选项,则文件将按照它们在命令行上出现的顺序包括在内。
afdcj2ne

afdcj2ne2#

GCC手册:

  • 包含文件
    处理文件,就像“#include "file"“出现在主源文件的第一行一样。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录。如果在那里没有找到,它将在“#include "..."“搜索链的剩余部分中正常搜索。
    如果给出了多个-include选项,则文件将按照它们在命令行上出现的顺序包括在内。
pu3pd22g

pu3pd22g3#

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

相关问题