1

当 sh.exe 不在路径上时,我有一个可以在 Windows 系统上运行的 makefile。但是当 sh.exe 在 Windows 路径上时,它会因错误而停止。显然,sh.exe 不能处理混合了 / 和 \ 的路径,例如这个:

 cc $CFLAGS) C:\a\b/c/d/myfile.c

它会产生以下错误

 Fatal error: could not open source file "c:ab/c/d/myfile.c"

由于我无法更改 makefile(它是由某些应用程序自动生成的),我如何强制 gmake 不使用 sh.exe 或强制 sh.exe 接受此类文件?

4

1 回答 1

2

试试gmake SHELL="cmd"。有关更多信息,请参阅GNU make 文档。特别要注意这个花絮:

请注意,这种对 shell 的扩展搜索仅限于从 Makefile 设置 SHELL 的情况;如果它是在环境或命令行中设置的,您应该将它设置为 shell 的完整路径名,就像在 Unix 上一样。

于 2013-10-01T00:47:15.850 回答