无法在Windows中从makefile运行'start'命令。

3
我正在Windows 7操作系统中使用gnu make 3.8.1 (mingw32)。我想从makefile运行“start”命令,但出现了一些错误。我的命令语法是:
start CMD /K http-server ./www -c-1

这个命令在手动输入cmd时有效。它会打开一个新的命令提示符,运行命令'http-server ./www -c-1',在端口8080上托管当前目录中www文件夹中存在的文件,并在它打开的命令提示符窗口中显示日志。 但是在makefile中似乎无法正常工作。我的makefile如下:

hostx:
    start CMD /K http-server ./www -c-1

这个Makefile还有更多的内容,但我们只需要关注这部分。 当我在命令提示符中键入“make hostx”时,它会显示以下输出。 我将我的命令提示符输出作为完整图像发布,以便更清晰。

我的命令提示符输出

你有什么想法如何让它工作?而且我不知道这个错误是什么意思。


1
make 程序可能使用 bash 作为运行命令的 shell。您需要翻译程序的路径名,以便 shell 可以找到它。 - Thomas Dickey
谢谢你回复,但我不知道如何做这个.. - Tushar Tyagi
1个回答

6

只有 Windows 95/98/ME 才有一个名为 start.exe 的程序,在其他版本的 Windows 中,它是 cmd.exe 内部命令。

使用 start 命令需要先调用 cmd.exe:

CMD /C start CMD /K http-server ./www -c-1

如果http-server是控制台程序或批处理文件,则无需CMD /K部分,因为Windows会自动创建新的控制台。 CMD /C start http-server ./www -c-1 应该就足够了。

谢谢,这是一个相当简单的修复。 - Tushar Tyagi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接