Ошибки сборки связанные с MOC

При теневой сборке debug shared Qt 4.8.1 из исходников src получаем ошибки с отсутствием MOC файлов.

Примечание: возможно, что при статической теневой сборки ошибок не получаем.

Для debug shared сборки на самом деле ошибки ушли, когда заменили ключ компиляции -MTd на -MDd

MT MTd MD MDd ключи компиляции.

moc файлы (точнее их наименование) бывает двух видов. И может генерироваться также до двух таких файлов одновременно.

moc_foo.cpp из foo.h, если и только если foo.h содержит Q_OBJECT макрос.

foo.moc из foo.cpp, если и только если foo.cpp содержит #include "foo.moc".

Небольшое замечание - например при сборке статически можем получить два сообщения об ошибках, но сборка нормально продолжается и завершается. 

И как ни странно вроде все далее при использовании этих библиотек работает нормально.

tmp\moc\release_shared\moc_qnetworkaccessmanager.cpp:93: error: C2491: 'QNetworkAccessManager::staticMetaObjectExtraData' : definition of dllimport static data member not allowed

tmp\moc\release_shared\moc_qnetworkaccessmanager.cpp:97: error: C2491: 'QNetworkAccessManager::staticMetaObject' : definition of dllimport static data member not allowed

Не найден qftp.moc

Пример решения проблемы связанной с файлом qftp.moc (точнее с его отсутствием). Запускаем qmake.exe на исходниках Qt вариант release static в теневой каталог и не можем понять, почему не создается qftp.moc файл. 

moc файлы создает qmake.exe . Возможно помогло удаление всех tmp каталогов и Makefile.* и каталога src исходников. Возможно помолго отключение -dont-process в конфигурировании. Но факт есть факт ошибка ушла.