我有一个非常大的代码库(可以读取: 成千上万个模块) ,这些代码在许多项目中共享,这些项目都运行在不同的操作系统和不同的 C + + 编译器上。不用说,维护构建过程可能非常麻烦。
在代码库中有几个地方,如果当前文件夹中不存在某个 #includes
文件,那么只要有一种方法可以让预处理器忽略这个 #includes
文件,就可以大大清理代码。有人知道怎么做吗?
目前,我们在共享文件中使用 #include
周围的 #ifdef
,并使用第二个特定于项目的文件 # 定义项目中是否存在 #include
。这个可以,但是很难看。在从项目中添加或删除文件时,人们常常忘记正确更新定义。我曾经考虑过编写一个预构建工具来使这个文件保持最新,但是如果有一个平台独立的方法来使用预处理器来实现这一点,我更愿意这样做。有什么想法吗?