gpt4 book ai didi

c++ - 如何使用分布在大型项目中的多个 #include 文件预处理单个源文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:19 31 4
gpt4 key购买 nike

为了获得预处理的输出,使用以下命令:

g++ -E a.cpp > temp.cpp

如果 a.cpp#include 文件不在同一个文件夹中,那么我们使用:

g++ -I <directory> -E a.cpp > temp.cpp

现在,有几个 .cpp 文件需要预处理输出。
每个 .cpp 文件和头文件的巨大 #include 依赖项分布在几个不同的子目录中;所以下面的选项非常麻烦:

g++ -I <dir1> -I <dir2> -I <dir3> ... -E a.cpp > temp.cpp

有没有更简单的方法(最好不使用Makefile)?
(假设 dir1, dir2, ... 在一个目录下)

最佳答案

你需要同一套-I用于预处理和编译。

当你实际编译代码时,你肯定会使用一些 -I 的集合参数(可能由 make 文件生成)。
所以只需使用相同的(或编译并复制并粘贴 -I 参数)。

我看到的唯一选择是将您的头目录重组为一个公共(public)目录(带有子目录,使用 #include <subdir/header.h> )。
但这需要更多的工作(尽管可能值得付出努力)。

关于c++ - 如何使用分布在大型项目中的多个 #include 文件预处理单个源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10630639/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com