我有一个非常大的代码库(读取:数千个模块),它们在许多项目中共享代码,这些代码都运行在具有不同C++编译器的不同操作系统上.毋庸置疑,维护构建过程可能相当繁琐.
在代码库中有几个地方可以清理代码,只要有一种方法可以让预处理器忽略#includes当前文件夹中不存在的文件.有谁知道实现这一目标的方法?
目前,我们使用了一个#ifdef围绕#include在共享文件,与该#define语句是否没有第二个项目特定的文件#include存在于该项目.这有效,但很难看.人们在添加或删除项目中的文件时经常忘记正确更新定义.我已经考虑过编写一个预构建工具来保持这个文件是最新的,但是如果有一个独立于平台的方法来对预处理器做这个,我宁愿那样做.有任何想法吗?