0

我正在尝试从 .bat 文件自动化 Qt 应用程序的构建过程。

我能够通过逐个输入每个 cmd 从 cmd-line 构建 Qt 应用程序。像qtenv2.bat,然后是 vcvars64.bat,然后是qmake。但是当我把这些cmd放在一个.bat文件中并尝试在cmd中执行bat时,奇怪的事情发生了,即qtenv2.bat运行后,它没有继续执行vcvar64.bat的下一个cmd,它退出了执行. autoBuild.bat 文件如下。

在此处输入图像描述

所以当我在 cmd 中运行它时,它在 qtenv2.bat 之后停止如下

在此处输入图像描述

我希望它在同一个控制台中继续使用下一个 cmds(这是构建过程的必要条件),如下所示,我在其中逐步运行每个 cmds。.bat 文件也需要这样做。

在此处输入图像描述

我尝试了以下 .... start "qtenv2" /min cmd /k call qtenv2.bat ......但它在单独的控制台中启动了该过程,这是我不想要的。

任何建议,如何编写 .bat 文件,以便 qtenv2.bat 运行,然后 vcvars.bat 也在同一个控制台中运行并停止执行。

问候,萨扬

4

1 回答 1

0

在驱动器之间进行更改会阻止您的 bat 文件继续。只需添加命令应该会有所帮助/Dcd

@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 && make clean
make
于 2021-09-16T14:44:24.770 回答