2010-09-03 57 views
2

我有一個makefile項目,其中包含由Eclipse CDT(Helios,MinGW)生成的makefiles。 「clean」命令不起作用,因爲「del」命令是使用像./src/myfile.o這樣的參數執行的,但是在Windows上這不起作用(應該是。\ src \ myfile.o)。我怎麼能告訴Eclipse使用Windows路徑分隔符,否則可能用不同的東西替換命令「del」(我可以很容易地寫一個批處理腳本,用反斜槓代替正斜槓)?Eclipse CDT創建的makefile不能在Windows上「清理」

感謝您的任何提示!

回答

0

編輯makefile以改爲使用mingw rm命令?

+0

這是可能的嗎?請注意makefile是由Eclipse自動生成的。 – Philipp 2010-09-27 06:50:10

+0

好吧,我的壞。當你談到makefile時,我以爲你在談論一個CDT _Makefile_項目。你可以隨時切換到其中的一個,並自己寫makefile? – crazyscot 2010-09-29 23:20:42

2

在您的msys bin目錄(C:\ msys \ 1.0 \ bin在我的機器上)創建rm.exe的副本並將其重命名爲del.exe。

這是一個破解。我不熟悉rm和del論證之間的區別。基本功能在那裏。 (刪除file1 file2 filen)

在windows中沒有del.exe,刪除功能是內置於CMD.exe。 eclipse在沒有del功能的msys shell中運行命令。這可以防止你添加一個路徑到eclipse中搜索del.exe。

我嘗試了很多不同的東西來獲取託管make來將「RM:= rm」放入makefile中,但失敗了。

0

在將rm.exe重命名爲del.exe之前,請檢查Eclipse中的路徑。該路徑必須具有Unix路徑分隔符(正斜槓,/),而不是Windows路徑分隔符(反斜槓,\)。 這已經解決了我的問題。

4

有一個簡單的解決方案,創建一個makefile.defs文件在您的項目的主目錄與下列內容:

RM := rm -rf 

基本上這個文件可以讓你重寫自動生成的makefile和RM的變量是用於刪除命令的包裝。