Russian Qt Forum
Ноябрь 22, 2024, 00:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Генерация moc файлов  (Прочитано 3603 раз)
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« : Июнь 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 Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #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 Offline

Сообщений: 27


Просмотр профиля
« Ответ #2 : Июнь 22, 2023, 20:43 »

Да такое можно ив python сделать, но не совсем то, если QT_OBJECT закомментирован, тоже сработает.
В CMAKE ввели AUTOMOC, только вот я с CMAKE не работал, не знаю можно ли с его помощью как то вытащить список файлов в любом виде к которым необходимо применить moc.exe
Если есть профи CMAKE  подскажите, а еще лучше было бы какой-то простой пример
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #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 Offline

Сообщений: 1177


Просмотр профиля
« Ответ #4 : Июнь 22, 2023, 22:28 »

Использую IDE Eclipse + MinGW + Qt библиотеки

неужели так нравится этот ужас эклипса, что есть за что в нём страдать ?
Записан
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #5 : Июнь 23, 2023, 19:31 »

а не проще взять Иде, которая сама может работать с pro или смаке? Улыбающийся
Eclipse может работать с CMAKE, а я нет Улыбающийся
Записан
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #6 : Июнь 23, 2023, 19:34 »

Использую IDE Eclipse + MinGW + Qt библиотеки

неужели так нравится этот ужас эклипса, что есть за что в нём страдать ?

В чём ужас то?
Eclipse по сути стандарт для микроконтроллеров, что моя основная специализация, не хочется плодить множество различных инструментов, если можно пользоваться одним
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #7 : Июнь 25, 2023, 13:45 »

Eclipse по сути стандарт для микроконтроллеров
Там ещё прелесть в том, что Eclipse - это JAVA. Что, даёт возможность собирать один и тот же проект как в винде, так и в линуксе. Что перекрывает неудобность Eclipse.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.062 секунд. Запросов: 22.