2013-01-23 63 views
1

我有調用從/cygdrive/c/path/to/compiler的cygwin不能找到我的編譯器/ cygdrive

,當我在cygwin外殼是我的編譯器生成文件,我可以正確地調用它,而是從一個makefile裏面,絕對路徑返回"The system cannot find the file specified"

我不明白爲什麼makefile文件不理解絕對cygdrive路徑

編輯*
事實上,以絕對路徑的任何命令將失敗。

/usr/bin/touch 

也將返回"The system cannot find the file specified"

+0

1.您是否使用指定的路徑CC環境變量在命令行中運行這個? 2.編譯器的路徑是否包含空格? – harpun

+0

路徑中沒有空格,makefile中的編譯器被認爲是$(GCC),它是在makefile中定義的 – Eric

+0

大約一年前我的Cygwin安裝沒有這個問題,它的價值。因爲它似乎是一個普通的Cygwin配置問題,所以如果你能想到可能已經被修改的任何可能相關的東西 - 用戶或系統.bashrc,環境變量等等。 –

回答

0

在Makefiles中使用可執行文件的絕對路徑是不好的做法。你應該可以,只要gcc.exe是您PATH也將努力把這個在Makefile

CC=gcc 

然後。如果你恰巧是交叉編譯,你可以從

make CC=i686-w64-mingw32-gcc 

ref

+0

/在我的路徑上,但它不幫幫我 – Eric