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

我刚刚为Windows下载了Eclipse CDT开发者工具包(87MB)。 我也安装了MinGW和msys。 我也将其添加到path:C:\ msys \ 1.0 \ bin; C:\ mingw \ bin。 然后重启电脑。 我已经通过types“make –version”在CMD中检查,它的工作原理。

但是,由于某种原因,我无法编译我的C项目。 我没有得到二进制文件,只有在COnsole下面的东西:

**** Build of configuration Default for project XXX **** make all make: *** No rule to make target `all'. Stop. 

有人可以帮我吗?

为了将来的参考,如果你正试图用makefile导入一个现有的项目…

如果你的makefile没有“全部”规则,这个消息仍然会弹出。 使用“自动生成Makefile”选项应自动处理。 如果你不想为你制作makefile,你至少有3个简单的选项…

选项1

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

  1. 转到项目属性 – > C / C ++生成 – >行为选项卡。
  2. 离开生成(增量生成)检查。
  3. 从Build(增量构建)旁边的文本框中删除“all”。

这让Eclipse知道你并没有试图使用一个叫做“all”的make目标。 出于某种原因,这是默认的。

选项2

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

选项3

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

仅供参考,有一种配置CDT构建选项的方法。 我有这个相同的错误消息(虽然我确实有一个目标 – 只是没有命名“全部”),并找到了这个解决方案(伽利略+ CDT):

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

当我开始使用CDT时,这对我来说是非常有帮助的。 我的源代码与构建区域是分开的,直到我配置,没有makefiles存在。 当我配置时,我的默认目标名称是明确的“默认”,而不是“全部”。 在我做任何事情之前让Eclipse在我的项目中报告一个错误是令人讨厌的。 建立与我的发展相匹配的环境创造了奇迹。 HTH。

右键单击项目Properties-> C / C ++ Build,在“Builder Settings”中勾选“Generate Makefiles automatically”选项,然后选择“Builder type”选项为“Internal builder”,然后点击确定,问题出现了解决了!

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

但是,我想知道是否有任何方法为以前的项目添加makefile的路径?

谢谢

你应该看看你的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)