Моя команда и я работаем над довольно большим проектом со многими классами с соответствующими заголовочными и исходными файлами. Мы пытаемся объединить все включения из библиотек C ++ и заголовочных файлов классов проектов в один файл с именем «Includes.h», который включен в каждый заголовочный файл. Одна проблема, с которой я столкнулся при этом, заключается в том, что файлы заголовков классов в основном включают самих себя. Я включил #pragma once
в верхней части каждого заголовочного файла. Когда я закомментирую #include "Controller.h"
в файле «# Includes.h» ошибки для «Controller.h» исчезают.
Пожалуйста, пожалуйста, пожалуйста и довольно, пожалуйста, не делайте этого.
Предпочитаю предварительные декларации. Затем отдельные включаемые файлы.
В противном случае вы изменяете один включаемый файл, и он должен компилировать лот. То есть пустая трата времени.
По сути, получите каждый заголовочный файл, чтобы иметь возможность компилировать его с пустым файлом cpp. Минимальные зависимости.
Других решений пока нет …