我刚刚下载了适用于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.
有人可以帮我这个吗?
答案 0 :(得分:10)
供将来参考,如果您尝试使用makefile导入现有项目......
如果您的makefile没有“all”规则,则仍会弹出此消息。使用“自动生成Makefile”选项应自动处理此问题。如果你不想为你制作makefile,你至少有3个简单的选项......
选项1
如果您不希望使用该名称的规则,请使用twokats的解决方案。这是一个澄清。
这让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)