Короче говоря, нет (в общем, это не работает для каждой системы сборки), вы не можете заставить компиляторы включать файлы заголовков, на которые они полагаются.У них нет возможности узнать, какие из них могут иметь используемые вами определения или прототипы.
Теперь вы можете создать один заголовочный файл, который включает в себя часто используемые заголовочные файлы, но если какой-то файл cpp просто требует их подмножества,компилятор выполняет дополнительную работу, и это потенциально может замедлить сборку.
Некоторые люди помещают общие включения в предварительно скомпилированный заголовок.
Вы можете утверждать, что лучше включать заголовочные файлы только там, где они нужны, сужаясь при их компиляции / чтении.