2010-09-15 104 views
17

我刚刚为Windows下载了Eclipse CDT开发人员工具包(87MB)。我还安装了MinGW和msys。 我也将此添加到路径:C:\ msys \ 1.0 \ bin; C:\ mingw \ bin。然后重启电脑。我已经通过在cmd中输入“make --version”进行检查,它可以工作。使:***没有规则,使目标“全部”。停止。 Eclipse错误

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

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

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

请问有人能帮我解决这个问题吗?

+0

我有同样的错误你能告诉我如何解决这个错误。 – 2013-07-25 11:52:03

+0

@SamadhanMedge底部的最后一个答案是我如何修复它。说实话,我不记得任何细节比这更好。希望你找到了解决问题的方法。 – chepukha 2013-07-30 06:29:01

+0

感谢您的回复,我通过twokats解决了错误。 – 2013-07-30 06:52:16

回答

2

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

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

谢谢

+0

谢谢,是的,我个人总是在CDT(或其他IDE)之前安装MinGW,以便他们可以在安装时自行配置(即自动查找MinGW)。 – 2014-02-28 02:42:59

6

仅供您参考,有一种方法可以配置CDT构建选项。我有同样的错误信息(虽然我确实有一个make目标 - 只是没有命名为“所有”),并发现该解决方案(伽利略+ CDT):

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

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

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) 
+0

感谢您的帮助。我已经修复了它,但现在不记得它是如何修复的 – chepukha 2010-12-16 20:24:16

10

以供将来参考,如果你想导入现有的项目有一个makefile ...

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

选项1

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

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

这让Eclipse知道你不是在试图使用一个名为“all”的make目标。出于某种原因,这是默认设置。

选项2

使用一些类似Etiennebr的Makefile。请注意,all: $(TARGET)行是Eclipse抱怨它无法找到的规则。

选项3

替代“所有”与您选择的规则名称,并确保在您的生成文件的规则。

5

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

相关问题