#qt #batch-file #jenkins #cmd #auto-build
Вопрос:
Я пытаюсь автоматизировать процесс сборки приложения Qt из файла .bat.
Я могу создать приложение Qt из командной строки, вводя каждый cmd по одному. Например, qtenv2.bat, затем vcvars64.bat, а затем qmake. Но когда я помещаю эти cmd в файл .bat и пытаюсь выполнить bat в cmd, происходит странное, т. Е. После запуска qtenv2.bat он не переходит к следующему cmd для vcvar64.bat, он завершает выполнение. Автостроение.файл bat выглядит так, как показано ниже.
Поэтому, когда я запускаю это в cmd, это, как показано ниже, останавливается после qtenv2.bat
Я хочу, чтобы это продолжалось со следующими cmds в той же консоли(это необходимо для процесса сборки), как показано ниже, где я запускаю каждый cmds шаг за шагом. И то же самое требуется от файла .bat.
Я попробовал следующее …. запустите «qtenv2» /min cmd /k вызов qtenv2.bat……но он запустил процесс в отдельной консоли, чего я не хочу.
Любое предложение, как написать файл .bat, чтобы qtenv2.bat запускался, а затем vcvars.bat также запускался в той же консоли с остановкой выполнения.
С уважением, Саян
Комментарии:
1. Используется
call
для запуска другого пакетного файла
Ответ №1:
Переключение между дисками блокирует ваш файл bat, чтобы продолжить. Просто добавьте /D
cd
команду, которая должна помочь :
@echo "setting up Qt env..."
cd /D C:/a/b/c
qtenv.bat
@echo "going to working dir ..."
cd /D D:/works_dir/
$VC_FULL_PATH/vcvars64.bat
@echo "building now ...."
qmake amp;amp; make clean
make