Как избежать qmake Build Step при использовании QT Creator - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть файл проекта Qt (.pro) и Makefile (самописный).
Файл проекта просто используется для редактирования исходных файлов в IDE:

/home/project/

             ./src/fooApp.pro
                              TEMPLATE=app
                              CONFIG-=qt
                              TARGET=fooApp

                              SOURCES+=...
                              HEADERS+=...

             ./src/main.c
             ./src/foo.c
             ./src/foo.h

             ./build/Makefile

Iхотел бы собрать проект с помощью IDE QT Creator 3.5.1
Поэтому я хотел бы вызвать make на Makefile.

В процессе сборки я всегда получаюошибка, из-за которой не может быть найден Makefile, следовательно, сборка не была запущена.

Решение состоит в том, чтобы всегда сначала вызывать qmake, а затем make (даже если Makefile все еще присутствует и пользовательская настройка make -C ../build in /home/project/)

Может кто-нибудь объяснить, почему невозможно игнорировать qmake и напрямую вызывать make для уже существующего Makefile?

(для проекта не используется библиотека Qt)

С уважением

1 Ответ

0 голосов
/ 06 февраля 2019

Это довольно просто, я часто использую только проект makefile, потому что мне нравится qt-creator в качестве IDE.В IDE перейдите на вкладку проектов слева.

Выберите вкладку «Сборка» в верхней части этой страницы, выглядит следующим образом: (build | run).

На этапах сборки:

  • удалите шаг сборки qmake, наведя указатель мыши на этот шаг и щелкнув на появившемся X.
  • Измените build directory так, чтобы он находился в том же каталоге, что и вашmakefile.

    Примечание: вам необходимо установить флажок shadow build рядом с ним, чтобы включить его.

  • удалить все другие шаги, которые вы не выполняетене хочу (на самом деле просто удалите их все пока).
  • Добавить новый шаг make step.Он попытается использовать make по умолчанию, но вы можете переопределить его, если хотите.Также добавьте любые аргументы, такие как debug или -j4 и т.д ...

Тогда все готово:)

В следующий раз, когда вы нажмете build, он просто вызовет команду make.

Примечание: Вам нужно будет сделать то же самое для любых других ваших конфигураций (таких как выпуск, отладка и т. Д.).Вы также можете просто добавить множество дополнительных конфигураций для выполнения других опций make (если они у вас есть), например make doxygen или что-то подобное ...

Только что вспомнил, что вы также можете:

  • Я не уверен, почему, но когда я тестировал его (как это делал OP), вы не можете просто настроить шаг make с параметрами -C ../, он, кажется, хочет сначала заглянуть в «каталог сборки».

Я склонен использовать расположение сборки, поскольку это приятная особенность IDE.

Примечание проблема с более новыми версиями Qtcreator в качестве IDE make-файла:что вы не можете поделиться своими настройками сборки с другими людьми (то есть не можете настроить управление ими), потому что они заблокированы для вашего профиля ПК ... длинная история ... но это очень печально, и я больше не использую qt creator по этой одной причине.

...