Моя цель - добавить мой проект Qt на сервер сборки Jenkins для ночных сборок. Поэтому я хочу скомпилировать свой проект из командной строки. Я скопировал шаги сборки, расположенные в конфигурации сборки:
"/opt/fslc-x11/2.5/sysroots/x86_64-fslcsdk-linux/usr/bin/qt5/qmake" "/home/xxxx/repositories/xxx/xxx.pro" -spec linux-oe-g++ && /usr/bin/make qmake_all
"/usr/bin/make"
Я выполняю эти команды в каталоге сборки. Проблема заключается в команде qmake. Команда qmake генерирует make-файл, но этот make-файл отличается, когда я генерирую его в командной строке, а не в QtCreator. Двоичный результат после make, конечно, очень отличается.
Кажется, что команда qmake из командной строки создает отладочный make-файл вместо релизного make-файла:
CFLAGS = -pipe -02 -pipe -g -feliminate-unused-debug-types --sysroot=.........
Часть -02 -pipe -g -feliminate-unused-debug-types
- это единственное, что добавляется, когда я запускаю qmake в командной строке (проверяется с помощью diff).
Я пробовал следующее:
- Добавлен
CONFIG+=release
в команду qmake
- Добавлено
CONFIG-=DEBUG
в команду qmake
Кроме того, я убедился, что системная среда и эмулятор терминала одинаковы.
Мой вопрос сводится к:
- Почему qmake добавляет флаги (отладки) при запуске из командной строки?
- Добавляет ли QtCreator больше среды, которую я мог пропустить?
Дайте мне знать, если вам нужна дополнительная информация о настройках или сгенерированном make-файле.