Build - это полный процесс преобразования исходного кода в исполняемый файл, поскольку компиляция C++ представляет собой преобразование исходного кода в код объекта. В сборке код C++ будет скомпилирован, а затем вам понадобятся другие этапы, включая фазу ссылок, для создания исполняемого файла. Сборка также может включать в себя другие этапы, например. preprocess или генерировать файлы исходного кода перед компиляцией.
Выполнение сборки только в случаях, когда «Я изменил любой заголовочный файл», просто означает, что только файлы, которые включают (напрямую или через другие включенные файлы), скомпилированы, а затем все объекты связаны. Ina «полная» сборка всех файлов будет скомпилирована, так что это сократит количество файлов, которые будут скомпилированы, и уменьшит общее время сборки.
Если вы изменили файл заголовка, то вам нужно построить, компиляция просто создаст новый объектный файл, который еще не является частью исполняемого файла.
Вы должны его построить. Но средства IDE или make просто построят obj, lib и exe, которые нужно построить. – neohope
Компилировать и строить такие же. В основном вы повторно компилируете файлы исходного кода и связываете их результирующие объектные файлы для создания нового исполняемого файла или библиотеки lib. Когда вы меняете некоторый заголовочный файл, исходные файлы, в которые включен этот заголовочный файл, должны быть перекомпилированы и связаны с формой new build (исполняемый файл или lib), который затем отображает изменения, сделанные вами в файле заголовка. Правила для таких зависимостей должны быть в makefile проекта. –