Eclipse CDT创建的makefile无法在Windows上“清理”

时间:2010-09-03 06:02:32

标签: eclipse makefile eclipse-cdt

我有一个makefile项目,其中包含由Eclipse CDT(Helios,MinGW)生成的makefile。 “clean”命令不起作用,因为“del”命令是使用./src/myfile.o之类的参数执行的,但在Windows上这不起作用(应该是。\ src \ myfile.o)。

如何告诉Eclipse使用Windows路径分隔符,或者用不同的东西替换命令“del”(我可以轻松编写一个用反斜杠替换正斜杠的批处理脚本)?

感谢任何提示!

5 个答案:

答案 0 :(得分:5)

有一个简单的解决方案,在项目的主目录中创建一个makefile.defs文件,其中包含以下内容:

RM := rm -rf

基本上这个文件允许你覆盖自动生成的makefile中的变量,RM是remove命令的包装器。

答案 1 :(得分:3)

最好的选择是下载并安装GnuUtils http://sourceforge.net/projects/gnuwin32/files/coreutils/5.3.0/coreutils-5.3.0.exe/download 并将已安装的目录(C:\ ProgramFile ??? \ GnuWin32 \ bin)添加到您的Windows路径并重新启动eclipse.Eclipse现在应该执行rm-rf ...如果它仍然没有...重新启动Windows并再次检查您的路径看它是否有\ GnuWin32 \ bin ...然后重启eclipse ......

答案 2 :(得分:2)

在msys bin目录(我机器上的C:\ msys \ 1.0 \ bin)中创建rm.exe的副本并将其重命名为del.exe。

这是一个黑客攻击。我不熟悉rm和del参数之间的差异。基本功能就在那里。 (删除file1 file2 filen)

在Windows中

没有del.exe,删除功能内置于CMD.exe中。 eclipse运行msys shell中没有del功能的命令。这可以防止你在eclipse中添加一个搜索del.exe的路径。

我尝试了很多不同的东西来让make make在makefile中放入“RM:= rm”但是失败了。

答案 3 :(得分:0)

编辑makefile以改为使用mingw rm命令?

答案 4 :(得分:0)

在将rm.exe重命名为del.exe之前,请检查Eclipse中的路径。该路径必须具有Unix路径分隔符(正斜杠,/),而不是Windows路径分隔符(反斜杠,\)。 这解决了我这方面的问题。