Я собираюсь попытаться реорганизовать, как моя группа создает набор больших приложений, которые делят около 90% исходных файлов. Сейчас эти приложения создаются без каких-либо библиотек, кроме внешних, которые не находятся под нашим контролем. Приложения используют одни и те же общие исходные файлы (мы не поддерживаем 5 версий тех же файлов .h/.cpp), но они не встроены в какую-либо общую библиотеку. Таким образом, на данный момент мы платим за то, чтобы строить один и тот же код для каждого приложения каждый раз, когда мы намерены выпустить версию. Для меня это звучит как главный кандидат на использование библиотек для захвата общего кода и сокращения времени сборки. У меня нет возможности использовать DLL, поэтому подход заключается в использовании статических библиотек.Реорганизовать классы в статические библиотеки
Я хотел бы знать, какие советы вам помогут в решении этой задачи. У меня ограниченный опыт создания/организации статических библиотек, поэтому даже основные предложения по организации/gotchas приветствуются. Может быть, даже хорошая рекомендация?
Я выполнил краткое упражнение, найдя все подмножество файлов, совместно используемое для каждого приложения. В качестве доказательства концепции я взял эти файлы и поместил их в одну старую библиотеку «Common Monster». Построение полного приложения с использованием этой единственной статической библиотеки, безусловно, улучшает время сборки для всех приложений, но я должен оставить его на этом? Цель библиотеки в этой форме не очень сфокусирована и кажется ленивой попыткой модульности. В этих приложениях постоянно развивается разработка, и я боюсь, что эта настройка вызовет проблемы в будущем.