2010-09-03 61 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的变量是用于删除命令的包装。