我有一个makefile项目,其中包含由Eclipse CDT(Helios,MinGW)生成的makefile。 “clean”命令不起作用,因为“del”命令是使用./src/myfile.o之类的参数执行的,但在Windows上这不起作用(应该是。\ src \ myfile.o)。
如何告诉Eclipse使用Windows路径分隔符,或者用不同的东西替换命令“del”(我可以轻松编写一个用反斜杠替换正斜杠的批处理脚本)?
感谢任何提示!
答案 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路径分隔符(反斜杠,\
)。
这解决了我这方面的问题。