Обычно после изменения заголовка все исходные файлы, включая этот заголовок, должны быть перестроены.
Однако qmake немного необычен в этом отношении, вам нужно установить DEPENDPATH для включаемых папок, отличных от текущего каталога. Например, если у вас есть
INCLUDEPATH += somepath_in_my_project
также добавьте
DEPENDPATH += some_path_in_my_project
Только с DEPENDPATH файлы, созданные с помощью файлов .pro, перестраиваются, если изменяется какой-либо заголовок в some_path_in_my_project (если они включают этот заголовок)!
Я предлагаю добавить для каждой строки INCLUDEPATH одинаковую строку DEPENDPATH, если вы не включите какой-либо системный каталог, который вы не ожидаете изменить.
Edit:
Аналогичная проблема существует при статическом соединении с qmake: если статический lib foo.a изменяется, двоичные файлы, ссылающиеся на него, не перекомпоновываются. Это ошибка в QMake, не генерирующая правильных зависимостей.
Обходной путь, который я нашел в предыдущем проекте:
static:unix:TARGETDEPS += path_to_my/somestaticlib.a
static:win32:TARGETDEPS += path_to_my/somestaticlib.lib
Редактировать редактировать:
С некоторого времени (Qt 5?) Приведенный выше код должен использовать POST_TARGETDEPS вместо TARGETDEPS.