Сборка проекта на Codelite (c ++) перекомпилирует слишком много файлов

У меня есть проект C ++ с большим количеством файлов. Когда я собираю проект с небольшими изменениями в коде, он перекомпилирует большое количество файлов. Это увеличивает время компиляции проекта. Поэтому мне нужно предложение о том, как я могу улучшить структуру проекта или какие-либо другие возможные оптимизации, которые помогут сократить время компиляции проекта.
Также есть несколько файлов, которые перекомпилируются, даже когда я не вносил изменений в проект. Каким-то образом make не обнаруживает, что эти файлы не нужно перекомпилировать, или я что-то упустил.

Я использую Codelite на Linux (Ubuntu) для моего проекта. Язык C ++.

0

Решение

Ссылка, приведенная выше, даст вам подробное объяснение. Проще говоря, я добавляю еще несколько вещей.

Если вы измените что-либо в файле CPP, только этот файл будет перекомпилирован. Если это заголовочный файл, то это будет другая история. Если у вас есть файл заголовка, включенный в несколько модулей, и когда вы вносите изменения в этот файл заголовка, все связанные файлы CPP будут скомпилированы, и снова это так и должно быть. Поэтому вам нужно быть осторожным при написании кода, если вы действительно заботитесь об этом аспекте. На более позднем этапе будет сложно управлять такими вещами.

Что касается компиляции некоторых файлов, даже если вы ничего не измените, может произойти, когда

1] мы говорим компилятору сделать это.

2] некоторые файлы CPP или заголовочные файлы генерируются или изменяются автоматически при запуске вашей сборки

3] есть изменение в метке времени файла

4] есть изменение в названии / структуре папки

И последнее, но не менее важное: попробуйте изменить цель сборки кода Lite.

Это те возможности, которые я знаю. Там будет больше [определенно :)) …

0

Другие решения

Других решений пока нет …