make:***没有规则让目标“全部”。停止。 Eclipse错误

时间:2010-09-15 05:16:37

标签: windows eclipse makefile eclipse-cdt

我刚刚下载了适用于Windows的Eclipse CDT开发人员工具包(87MB)。我还安装了MinGW和msys。   我还将它添加到PATH:C:\ msys \ 1.0 \ bin; C:\ mingw \ bin。然后重新启动计算机。我已经在cmd中按类型“make --version”进行了检查,它确实有效。

然而,由于某种原因,我无法编译我的C项目。我没有获取二进制文件,只在COnsole中获得以下内容:

**** Build of configuration Default for project XXX ****

make all 
make: *** No rule to make target `all'.  Stop.

有人可以帮我这个吗?

5 个答案:

答案 0 :(得分:10)

供将来参考,如果您尝试使用makefile导入现有项目......

如果您的makefile没有“all”规则,则仍会弹出此消息。使用“自动生成Makefile”选项应自动处理此问题。如果你不想为你制作makefile,你至少有3个简单的选项......

选项1

如果您不希望使用该名称的规则,请使用twokats的解决方案。这是一个澄清。

  1. 转到项目属性 - > C / C ++ Build - >行为标签。
  2. 保持构建(增量构建)已检查。
  3. 从Build(Incremental Build)旁边的文本框中删除“all”。
  4. 这让Eclipse知道你没有尝试使用名为“all”的make目标。出于某种原因,这是默认值。

    选项2

    使用与Etiennebr的makefile类似的东西。注意,all: $(TARGET)行是Eclipse抱怨它无法找到的规则。

    选项3

    使用您选择的规则名称替换“all”,并确保在makefile中包含该规则。

答案 1 :(得分:6)

仅供您参考,有一种方法可以配置CDT构建选项。我有同样的错误消息(虽然我确实有一个make目标 - 只是没有命名为“all”)并找到了这个解决方案(对于Galileo + CDT):

右键单击您的项目,然后选择属性。将出现“属性”对话框,您应该看到 C / C ++ Build 选项,您可以在其中设置特定的构建选项。突出显示此项目,将出现“属性”页面。选择您要修改的配置,然后在下面的部分中您应该看到2个选项卡:构建器设置行为。这是您想要的行为标签。在本节中,您可以设置构建设置和工作台设置的首选项,包括指定目标名称(默认为“全部”)或关闭自动构建。

当我开始使用CDT时,这对我非常有帮助。我的源代码与构建区域是分开的,在配置之前,不存在makefile。配置时,我的默认目标名称是“默认”,而不是“全部”。在我做任何事情之前让Eclipse在我的项目中报告错误是令人讨厌的。设置环境以匹配我的开发工作奇迹。 HTH。

答案 2 :(得分:5)

右键单击项目属性 - > C / C ++ Build,在" Builder Settings"检查"自动生成Makefile"选项,然后选择" Builder类型"选项"内部构建器",然后单击确定,问题解决了!

答案 3 :(得分:2)

我花了很多时间在这个错误上,现在意识到那些未编译的项目是在我安装MinGW和msys之前创建的,所以之前没有makefile。而且没有包含makefile链接的include文件夹。这就是我无法编译它的原因。现在,当我创建新项目时,没关系。

但是,我想知道是否有办法为之前的项目添加makefile的路径?

由于

答案 4 :(得分:2)

您应该查看您的makefile(如果缺少则创建一个)。那是默认的makefile:

CXXFLAGS =  -O2 -g -Wall -fmessage-length=0
OBJS =      main.cpp
LIBS =
TARGET =      main.exe

$(TARGET):  $(OBJS)
    $(CXX) -o $(TARGET) $(OBJS) $(LIBS)
all:    $(TARGET)
clean:
    rm -f $(OBJS) $(TARGET)