Russian Qt Forum
Ноябрь 21, 2024, 21:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Генерация moc файлов
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Генерация moc файлов (Прочитано 3601 раз)
KSergeyP
Новичок
Offline
Сообщений: 27
Генерация moc файлов
«
:
Июнь 21, 2023, 11:10 »
Использую IDE Eclipse + MinGW + Qt библиотеки
Вопрос как можно получить список *h на которые необходимо натравить moc.exe?
Сейчас просто прогоняю moc для всех файлов, но получаю при сборке кучу предупреждений "Note: No relevant classes found. No output generated."
Проект в принципе собирается, но хотелось бы найти способ как заставить работать moc только с теми исходниками в которых присутствует QT_OBJECT
Сборка происходит через Autotools Eclipse-а, утилита moc сейчас запускается из скрипта python как prebuild.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Генерация moc файлов
«
Ответ #1 :
Июнь 21, 2023, 13:01 »
ну совсем примитивно: смотреть в каждом хедере есть ли Q_OBJECT. но мок обрабатывает и другие макросы типа Q_GADGET, если хочешь сделать универсальное решение.
еще можно список нужных файлов получить в баше например так:
Код
Bash
grep
-F
--files-with-matches
Q_OBJECT $
(
find
.
-iname
'*.h'
)
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
KSergeyP
Новичок
Offline
Сообщений: 27
Re: Генерация moc файлов
«
Ответ #2 :
Июнь 22, 2023, 20:43 »
Да такое можно ив python сделать, но не совсем то, если QT_OBJECT закомментирован, тоже сработает.
В CMAKE ввели AUTOMOC, только вот я с CMAKE не работал, не знаю можно ли с его помощью как то вытащить список файлов в любом виде к которым необходимо применить moc.exe
Если есть профи CMAKE подскажите, а еще лучше было бы какой-то простой пример
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Генерация moc файлов
«
Ответ #3 :
Июнь 22, 2023, 21:49 »
не похоже, что смаке предоставляет эту информацию наружу.
а не проще взять Иде, которая сама может работать с pro или смаке?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qate
Супер
Offline
Сообщений: 1177
Re: Генерация moc файлов
«
Ответ #4 :
Июнь 22, 2023, 22:28 »
Цитата: KSergeyP от Июнь 21, 2023, 11:10
Использую IDE Eclipse + MinGW + Qt библиотеки
неужели так нравится этот ужас эклипса, что есть за что в нём страдать ?
Записан
KSergeyP
Новичок
Offline
Сообщений: 27
Re: Генерация moc файлов
«
Ответ #5 :
Июнь 23, 2023, 19:31 »
Цитата: kambala от Июнь 22, 2023, 21:49
а не проще взять Иде, которая сама может работать с pro или смаке?
Eclipse может работать с CMAKE, а я нет
Записан
KSergeyP
Новичок
Offline
Сообщений: 27
Re: Генерация moc файлов
«
Ответ #6 :
Июнь 23, 2023, 19:34 »
Цитата: qate от Июнь 22, 2023, 22:28
Цитата: KSergeyP от Июнь 21, 2023, 11:10
Использую IDE Eclipse + MinGW + Qt библиотеки
неужели так нравится этот ужас эклипса, что есть за что в нём страдать ?
В чём ужас то?
Eclipse по сути стандарт для микроконтроллеров, что моя основная специализация, не хочется плодить множество различных инструментов, если можно пользоваться одним
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Генерация moc файлов
«
Ответ #7 :
Июнь 25, 2023, 13:45 »
Цитата: KSergeyP от Июнь 23, 2023, 19:34
Eclipse по сути стандарт для микроконтроллеров
Там ещё прелесть в том, что Eclipse - это JAVA. Что, даёт возможность собирать один и тот же проект как в винде, так и в линуксе. Что перекрывает неудобность Eclipse.
Записан
Digital Art
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...