Можно ли в 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, что подсказывает мне, что с подключением должно быть все в порядке.

Я ошибаюсь?

Ответы на вопрос(2)

Ваш ответ на вопрос