Как можно добиться того, что пытается сделать следующий код?
#include "dir/*"
Ответ 1
В bash:
HEADER=all_headers.h
echo "#ifndef __ALL_HEADERS__" > $HEADER
echo "#define __ALL_HEADERS__" >> $HEADER
for file in dir/*.h
do
echo "#include <$file>" >> $HEADER
done
echo "#endif" >> $HEADER
Ответ 2
Один из способов добиться этого - написать заголовок удобства, который включает все нужные заголовки. Имейте в виду, что включение заголовков, которые вы не будете использовать, может излишне увеличивать время компиляции.
Ответ 3
Вы не можете, без запуска script заранее, который генерирует все инструкции #include.
Препроцессор может обрабатывать только один файл за один оператор #include, поэтому для каждого отдельного файла, который вы хотите включить в препроцессинг, требуется фактический #include.
Ответ 4
Посмотрите, как Boost делает это, например, utility.hpp.