我将尝试重新组织我的小组构建一组大型应用程序的方式,这些应用程序共享大约 90% 的源文件。目前,这些应用程序的构建没有涉及任何库,除了不受我们控制的外部链接库。应用程序使用相同的公共源文件(我们没有维护相同 .h/.cpp 文件的 5 个版本),但这些没有内置到任何公共库中。因此,目前,每次我们打算发布一个版本时,我们都在为每个应用程序一遍又一遍地构建相同的代码付出代价。对我来说,这听起来像是使用库来捕获共享代码并减少构建时间的主要候选者。我没有使用 DLL 的选项,所以方法是使用静态库。
我想知道您对如何完成这项任务有什么建议。我在创建/组织静态库方面的经验有限,所以即使是对组织/陷阱的基本建议也是受欢迎的。也许甚至是一本好书推荐?
通过查找每个应用程序共有的文件的整个子集,我做了一个简短的练习。作为概念证明,我将这些文件放在一个“Common Monster”静态库中。使用这个单一的静态库构建完整的应用程序肯定会缩短所有应用程序的构建时间,但我应该把它留在这里吗?这种形式的库的目的不是很集中,似乎是对模块化的懒惰尝试。这些应用程序正在持续开发中,我担心这种设置会进一步导致问题。