У меня была проблема, что moc.exe не генерировал moc-файлы с помощью nmake. Причиной был неправильный путь moc.exe внутри Makefile.Debug.
Что-то вроде:
C: /Qt/2009.03/qt/bin \ moc.exe
Я изменяю это на:
C: \ Qt \ 2009.03 \ Qt \ Bin \ moc.exe
и теперь это работает. ;)
К сожалению, qmake будет генерировать make-файлы каждый раз, когда вы запускаете его из меню или перестраиваете / очищаете решение / проект. Я думаю, что это ошибка конфигурации qmake.
Чтобы исправить это навсегда, вам нужно найти файл C: \ MyQtDir \ mkspecs \ win32-msvc2008 \ qmake.conf. Для других конфигов вы должны изменить win32-msvc2008.
Для меня это было в C: \ Qt \ 2009.03 \ qt \ mkspecs \ win32-msvc2008 \ qmake.conf
Поиск фразы «QMAKE_MOC». Вы найдете несколько таких строк:
QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
QT_INSTALL_BINS - это неправильный путь. Разделителями каталогов по-прежнему являются '/', но они должны быть '\'. На данный момент я не знаю точно, где я должен изменить QT_INSTALL_BINS. Но путь qt для меня не изменится, поэтому я заменил макрос на жестко заданные пути:
QMAKE_MOC = C:\Qt\2009.03\qt\bin\moc.exe
QMAKE_UIC = C:\Qt\2009.03\qt\bin\uic.exe
QMAKE_IDC = C:\Qt\2009.03\qt\bin\idc.exe
Теперь с мосом проблем больше нет. Перестройки тоже будут работать нормально.
Надеюсь, это поможет;)