2016-12-31 58 views
1

我在Windows 7操作系统中使用gnu make 3.8.1(mingw32)。 我想从makefile运行'start'命令,但它给出了一些错误。我的命令语法是 -无法从Windows的makefile运行“开始”命令

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

此命令在cmd中手动输入时有效。它会打开一个新的命令提示符,它运行命令'http-server ./www -c-1',将当前目录的www文件夹中存在的文件存放在端口8080上,并在打开的命令提示符窗口中显示日志。 但在makefile中,它似乎不工作。我的生成文件是 -

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

还有更多的makefile,但我们只需要关注这部分。 当我在cmd中键入'make hostx'时,它显示以下输出。 我张贴我的CMD输出为完整的图像,所以这是更清晰

my command prompt output

任何想法如何,我可以得到它的工作?我也不知道这个错误是什么意思。

+1

'make'程序可能使用'bash'作为运行命令的shell。你必须翻译程序的路径名,以便shell能够找到它。 –

+0

感谢您的回复,但我不知道如何做到这一点.. –

回答

4

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

要使用start命令,你需要先调用CMD.EXE:

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

如果HTTP服务器是一个控制台程序或批处理文件,那么你不需要CMD/K的部分,因为Windows自动创建一个新的控制台。 CMD /C start http-server ./www -c-1应该足够了。

+0

谢谢,这是一个相当简单的修复。 –