Создание MOC для новых файлов QOBJECT в visual studio 2010
Я создал проект, используя qmake, и он автоматически генерировал moc-файлы для классов, которые наследуют QObject прямо или косвенно. Однако, если я добавлю новый класс, который наследует QObject, плагин QT не генерирует файлы MOC во время процесса сборки. Какие настройки я должен настроить, чтобы я мог делать это автоматически каждый раз, когда добавляю новый файл QObject?
2 ответа
Если ваши пользовательские классы не перемещаются автоматически, вы могли бы забыть добавить макрос Q_OBJECT в объявлениях классов или поместить QObject в качестве первого класса, который наследуется в случае множественного наследования (порядок классов, из которых ваш производный класс наследует дела). Если это не ваш случай, вы можете прочитать это:
http://truth2.wordpress.com/2010/09/04/custom-build-rules-for-qt-under-visual-studio-2010/
Кстати: версии QT имеют свои нюансы, поэтому полезно сообщить, какую версию вы используете.
Я просто нашел новый способ справиться с ошибкой "no moc_*. Cpp, сгенерированной после добавления нового файла.h/.cpp".
Сначала откройте "Обозреватель решений -> Страница свойств нового файла.h", а затем измените сборку на "Custom Build Tool".
Затем вы должны найти файл.h, который успешно сгенерировал "moc_*", и скопировать все содержимое в "Custom Build Tool -> General" на новую страницу настроек файла.h.
После этого постройте свой проект.
Наконец, добавьте сгенерированный файл "moc_ *" в ваш проект.
Готово! Теперь вы можете построить его как обычно.