Eclipse CDT clean在Windows上失败:尝试运行rm -rf

2hh7jdfx  于 2023-06-05  发布在  Eclipse
关注(0)|答案(6)|浏览(433)

我在Windows 7上使用带有CDT的Juno。当我尝试使用MinGW提供的内部构建器或make清理项目时,Eclipse运行 *X命令rm -rf,清理操作失败。
从控制台使用外部构建器(mingw 32-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)
aemubtdh

aemubtdh1#

最好的解决方案是安装**GnuUtils/coreutils**并将安装目录(C:\ProgramFiles\GnuWin32\bin)添加到您的Windows路径,然后重新启动eclipse。
Eclipse现在应该执行rm-rf了…
如果仍然不起作用,只需重新启动Windows(在windows memeory中设置路径)并再次检查您的路径以确保它具有\GnuWin32\bin。最后启动eclipse

ua4mk5z4

ua4mk5z42#

原来在.cproject文件xml中有一个控制clean命令的属性。
查找configuration标记,并将cleanCommand属性设置为所需的值。我将它设置为rm -rf,并使用gnuutils来支持windows上的命令。
您可以将命令更改为任何命令。

<configuration artifactExtension="so" artifactName="MyProject" ... cleanCommand="rm -rf" ...>
t3psigkw

t3psigkw3#

我找到了一个解决方法,对我很有效:如果你查看管理的make makefile,你可以找到一行“RM:=...”,在该行之后还有一行“-include../makefile.defs”,在我的例子中不存在。
如果您创建了这个文件,您可以将“RM:=...”宏重新定义为您想要的任何内容。
例如:RM:= del
在这种情况下,自动构建过程将使用您的定义来删除文件和文件夹,而不是Eclipse的预定义定义。

ippsafx7

ippsafx74#

我有这个错误,因为我有一个错字在MSYS_HOME项目->属性->C/C++构建->环境

vq8itlhq

vq8itlhq5#

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

h9a6wy2h

h9a6wy2h6#

一个简单的解决方案是安装Git for Windows,并在安装选项中为cmd.exe启用类似Unix的命令。则将支持rm -rf。
A simple solution is to install Git for Windows.

相关问题