Вопрос

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

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

Это было полезно?

Решение

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

  1. Бегать qmake -project когда вы начинаете работать над проектом.
  2. Бегать qmake когда вы хотите создавать файлы Makefile.
  3. Бегать make когда вы хотите построить проект.

Другие советы

Я думаю, у вас есть два варианта.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top