make:***没有规则让目标"全部".停止.Eclipse错误

che*_*kha 19 eclipse windows 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.
Run Code Online (Sandbox Code Playgroud)

有人可以帮我这个吗?

drm*_*elr 11

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

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

选项1

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

  1. 转到项目属性 - > C/C++构建 - >行为选项卡.
  2. 保持Build(增量构建)已检查.
  3. 从Build(Incremental Build)旁边的文本框中删除"all".

这让Eclipse知道你没有尝试使用名为"all"的make目标.出于某种原因,这是默认值.

选项2

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

选项3

用您选择的规则名称替换"all",并确保在makefile中包含该规则.


two*_*ats 6

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

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

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


小智 5

右键单击项目Properties-> C/C++ Build,在"Builder Settings"中选中"Generate Makefiles automatic"选项,然后选择"Builder type"选项为"Internal builder",然后单击ok,问题是解决了!


che*_*kha 2

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

不过我想知道有没有办法给之前的项目添加makefile的路径呢?

谢谢