Можно ли в GCC предварительно скомпилированные заголовки быть включены из других заголовков?
Когда я компилирую файл C ++, который включает в себя предварительно скомпилированный заголовок, все работает как положено
// test.c++
#include <precompiled.h>
#include <header.h>
main() {}
> g++-4.7 --std=c++11 BLAH... test.c++ -H 2>&1 | grep precompiled.h
! precompiled.h.gch
(! означает, что gcc нашел и использовал предварительно скомпилированный заголовок)
Однако, когда я помещаю #include <precompiled.h> в header.h, это не работает:
// test.c++
#include <header.h>
main() {}
> g++-4.7 --std=c++11 BLAH... test.c++ -H 2>&1 | grep precompiled.h
. precompiled.h
(нет! или x означает, что gcc не удалось найти предварительно скомпилированный заголовок)
В чем дело? Насколько я понимаю, до тех пор, пока gcc попадет в #include, который указывает на заголовок с соответствующим .gch перед любыми токенами C / C ++, он будет использовать GCH, что подсказывает мне, что с подключением должно быть все в порядке.
Я ошибаюсь?