gmake使用sh.exe导致生成错误

时间:2013-09-30 17:43:59

标签: windows bash shell gnu-make

当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接受此类文件?

1 个答案:

答案 0 :(得分:2)

试试gmake SHELL="cmd"。有关详细信息,请参阅GNU make docs。特别要注意这个花絮:

  

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