3

我在 Windows 7 上使用带有 CDT 的 Juno。当我尝试使用 MinGW 提供的内部构建器或 make 清理项目时,Eclipse 运行 *X 命令 rm -rf 并且清理操作失败。

从控制台使用外部构建器(mingw32-make)记录:

18:08:07 **** Clean-only build of configuration Debug for project threads_example ****
mingw32-make clean 
rm -rf  ./main.o  ./main.d  threads_example
process_begin: CreateProcess(NULL, rm -rf ./main.o ./main.d threads_example, ...) failed.
make (e=2): The system cannot find the file specified.

mingw32-make: [clean] Error 2 (ignored)
' '

18:08:07 Build Finished (took 137ms)

使用内部构建器记录:

10:39:35 **** Clean-only build of configuration Debug for project threads_example ****
rm -rf threads_example main.o main.d 
Cannot run program "rm": Launching failed

Error: Program "rm" not found in PATH
PATH=[C:\CS_powerpc\bin;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java    /jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files (x86)\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio\OEM\AudioCore\;C:\siriusSDK\CS_i686\bin;c:\siriusSDK\CS_powerpc\bin;C:\siriusSDK\MinGW\msys\1.0\bin;C:\MinGW\bin;;C:\work\eclipse]


10:39:35 Build Finished (took 41ms)

10:39:35 **** Clean-only build of configuration Debug for project threads_example ****

10:39:35 Build Finished (took 46ms)
4

5 回答 5

4

最好的解决方案是安装GnuUtils/coreutils 并将安装的目录 (C:\ProgramFiles\GnuWin32\bin) 添加到您的 windows 路径,然后重新启动 eclipse。

Eclipse 现在应该执行 rm-rf ...

如果它仍然不起作用,只需重新启动 Windows(在 Windows 内存中设置路径)并再次检查您的路径以确保它具有 \GnuWin32\bin 。最后开始eclipse。

于 2013-11-13T09:36:41.247 回答
4

原来 .cproject 文件 xml 中有一个属性控制 clean 命令。

查找配置标签,并将cleanCommand属性设置为您想要的。我已将其设置为rm -rf并使用 gnuutils 来支持 Windows 上的命令。
您可以将命令更改为任何内容。

<configuration artifactExtension="so" artifactName="MyProject" ... cleanCommand="rm -rf" ...>
于 2015-10-09T14:26:12.067 回答
1

我找到了一个对我有用的解决方法:如果您查看托管的 make makefile,您可以找到一行“RM := ...” 在该行之后有一行“-include ../makefile.defs “在我的情况下不存在。

如果您创建此文件,您可以将“RM := ...”宏重新定义为您想要的任何内容。

例如:RM := del

在这种情况下,自动构建过程将使用您的定义来删除文件和文件夹,而不是使用 eclipse 的预定义定义。

于 2015-11-20T08:25:13.593 回答
1

我有这个错误是因为我在Project->properties->C/C++ Build->Environment下的MSYS_HOME中有错字

于 2017-07-10T12:27:27.907 回答
0

一个简单的解决方案是为 Windows 安装 Git,并在安装选项中为 cmd.exe 启用类 Unix 命令。然后rm -rf会支持。

于 2018-11-12T05:51:43.580 回答