【发布时间】:2012-05-20 10:23:16
【问题描述】:
在 GCC 中,我们可以运行简单的预处理器:
g++ -E x.cpp > temp.cpp
但是,在有这么多makefiles 的大型项目中;提到所有的依赖关系非常麻烦。例如
g++ -I /home/x1 -I /home/x2 ... -DMACRO1 -DMACRO2 ... -E x.cpp > temp.cpp
有什么方法可以使用makefile 来运行C 预处理器吗?
【问题讨论】:
-
makefile可以运行g++和-E,就像没有它运行它一样。只需复制您的正常编译规则,然后添加-E。 -
同意@ugoren,您需要解释为什么这只是对 .cpp 文件的现有编译规则的微小更改。
-
@OliCharlesworth,我想对几个单独的文件执行此操作,并将其输出一个一个地重定向到另一个文件。此外,我需要编辑每个 makefile 吗?
-
然后复制您现有的规则,并为该特定文件制定特殊规则(但添加
-E等)。我不知道您所说的“每个makefile”是什么意思-您需要根据需要编辑尽可能多的makefile! -
作为 X11 构建系统一部分的
imake程序使用 C 预处理器将Imakefile转换为makefile。然而,这是一个进化的死胡同。我什至不确定 X11 是否还在使用它。
标签: c++ c gcc makefile c-preprocessor