Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: alsav22 (22.04.2012 в 23:38) Благодарю! Терпения у меня хватит. Пока поэкспериментирую с *.moc файлами. Идея понятна. Поэкспериментировал. Результат такой. Для данного кода обработка moc имеет смысл только для файла mainwindow.h (предполагаю, что из-за наличия в нём Q_OBJECT). Файлы main.moc и mainwindow.moc пустые получаются. Если делать #include "mainwindow.moc.h" в файл main.cpp или в mainwindow.cpp, или в оба, то при построении:
1>------ Построение начато: проект: Qt5, Конфигурация: Debug Win32 ------ 1> main.cpp(0): Note: No relevant classes found. No output generated. 1> mainwindow.cpp(16): Note: No relevant classes found. No output generated. 1> mainwindow.cpp 1>d:\my c++projects\qt5\mainwindow.h(5): error C2011: MainWindow: переопределение типа "class" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(40): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(48): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(52): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(61): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(62): error C2270: metaObject: модификаторы недопустимы для функций, не являющихся членами 1>d:\my c++projects\qt5\mainwindow.moc.h(63): error C2227: выражение слева от "->metaObject" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>d:\my c++projects\qt5\mainwindow.moc.h(63): error C2227: выражение слева от "->metaObject" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>d:\my c++projects\qt5\mainwindow.moc.h(66): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(70): error C2355: this: может указываться только в нестатических членах-функциях 1>d:\my c++projects\qt5\mainwindow.moc.h(71): error C2352: QMainWindow::qt_metacast: недопустимый вызов нестатической функции-члена 1> c:\qt\4.8.1\src\gui\widgets\qmainwindow.h(65): см. объявление "QMainWindow::qt_metacast" 1>d:\my c++projects\qt5\mainwindow.moc.h(74): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(76): error C2352: QMainWindow::qt_metacall: недопустимый вызов нестатической функции-члена 1> c:\qt\4.8.1\src\gui\widgets\qmainwindow.h(65): см. объявление "QMainWindow::qt_metacall" 1> main.cpp 1>d:\my c++projects\qt5\mainwindow.h(5): error C2011: MainWindow: переопределение типа "class" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(40): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(48): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(52): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(61): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(62): error C2270: metaObject: модификаторы недопустимы для функций, не являющихся членами 1>d:\my c++projects\qt5\mainwindow.moc.h(63): error C2227: выражение слева от "->metaObject" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>d:\my c++projects\qt5\mainwindow.moc.h(63): error C2227: выражение слева от "->metaObject" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>d:\my c++projects\qt5\mainwindow.moc.h(66): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(70): error C2355: this: может указываться только в нестатических членах-функциях 1>d:\my c++projects\qt5\mainwindow.moc.h(71): error C2352: QMainWindow::qt_metacast: недопустимый вызов нестатической функции-члена 1> c:\qt\4.8.1\src\gui\widgets\qmainwindow.h(65): см. объявление "QMainWindow::qt_metacast" 1>d:\my c++projects\qt5\mainwindow.moc.h(74): error C2027: использование неопределенного типа "MainWindow" 1> d:\my c++projects\qt5\mainwindow.h(5): см. объявление "MainWindow" 1>d:\my c++projects\qt5\mainwindow.moc.h(76): error C2352: QMainWindow::qt_metacall: недопустимый вызов нестатической функции-члена 1> c:\qt\4.8.1\src\gui\widgets\qmainwindow.h(65): см. объявление "QMainWindow::qt_metacall" 1> Создание кода... ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: