2013-09-30 90 views
0

當sh.exe不在路徑上時,我有一個可以在Windows系統上運行的makefile。但是當sh.exe在Windows路徑上時,它會停止並顯示錯誤。顯然,sh.exe不能與混合處理路徑/和\如將此作爲一個:gmake使用sh.exe導致構建錯誤

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

它生成以下錯誤

​​

由於我不能夠改變生成文件(它是自動生成的一些應用程序),我如何強制gmake不使用sh.exe或強制sh.exe接受這樣的文件?

+0

你可以修改你的路徑,以便在'sh'之前找到'cmd'嗎?這是一個cygwin環境嗎? –

+0

@AdamBurry:不,我不能改變路徑,因爲我正在開發一個應該在客戶系統上工作的系統,並且我無法更改客戶系統上的路徑。不,我正在開發使用TI環境。 – mans

+0

'gmake SHELL =「cmd」'? http://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html#Choosing-the-Shell –

回答

1

嘗試gmake SHELL="cmd"。有關更多信息,請參閱GNU make docs。特別值得注意的是:

請注意,這個對shell的擴展搜索僅限於 ,其中SHELL從Makefile中設置;如果它在環境 或命令行中設置,則需要將其設置爲shell的完整路徑名 ,與Unix上的情況完全相同。