Как автоматизировать Qt moc? - PullRequest
4 голосов
/ 13 октября 2009

Мне нужно выполнить следующие команды из командной строки Qt: qmake -project затем make, и это даст мне папку отладки с файлом Moc.
Как ни странно, это единственный способ, которым мой компьютер генерирует файл moc_.cpp.

Так как я могу автоматизировать задачу этих команд, чтобы мне больше не приходилось использовать эти команды?

Ответы [ 2 ]

7 голосов
/ 14 октября 2009

Вы не должны запускать qmake -project несколько раз. Параметр -project предназначен для предоставления вам файла шаблона проекта для редактирования. Эквивалентом того, что вы делаете в IDE, будет создание «нового проекта» каждый раз, когда вы хотите построить. После того, как у вас есть первоначальный проект, вы должны отредактировать его вручную, добавить файлы, когда у вас появятся новые файлы, и т. Д. Если какой-либо заголовочный файл изменится, сгенерированный Makefile заметит его и вызовет moc для его автоматического обновления файла moc _ *. Cpp. Итак:

  1. Запустите qmake -project, когда начнете работать над проектом.
  2. Запустите qmake, если вы хотите сгенерировать Makefile.
  3. Запустите make, когда вы хотите построить проект.
0 голосов
/ 13 октября 2009

Полагаю, у вас есть два варианта.

  1. вызовите qmake из родительского процесса make и выполните многоуровневую сборку. («Рекурсивное создание».)

  2. напрямую запустить компилятор мета-объектов из правил вашего make-файла

Если второе, эта страница на с использованием метаобъекта может помочь компилятору.

...