当我尝试编译以下代码时,我的Eclipse CDT一直在抱怨“make:***没有规则来制作目标”:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!!!" << endl; // prints Hello World!!!
return 0;
}
任何人都知道如何解决这个问题? 我已经阅读了类似标题的帖子: make: *** No rule to make target `all'. Stop. Eclipse error 但这些答案都没有帮助......
非常感谢!
答案 0 :(得分:38)
您需要更改项目设置,以便Eclipse-CDT为您管理Makefile。
答案 1 :(得分:14)
“all”是默认设置,即使Behaviour-&gt; Build(增量构建)选项卡没有变量。我解决了
答案 2 :(得分:10)
从菜单栏中选择Project-&gt; Properties。
点击出现的对话框左侧的C / C ++ Build。
答案 3 :(得分:7)
在C / C ++ Build中 - &gt; “构建器设置”,选择“内部构建器”(而不是“外部”构建器)。
它对我有用。
答案 4 :(得分:6)
我刚刚为自己解决了这个问题;甚至引用了这个问题。
我假设您没有编写Eclipse抱怨的“所有”规则。如果是这种情况,请执行以下步骤:
这让Eclipse知道你没有尝试使用名为“all”的make目标。出于某种原因,这是默认值。
答案 5 :(得分:3)
你有2个案例
- 从菜单栏中选择Project-&gt; Properties。
- 点击出现的对话框左侧的C / C ++ Build。
- 自动禁用生成makefile - &gt;在右侧的“构建器设置”选项卡下,检查并确保“构建位置” 正确(该位置是您的Makefile)
醇>
- 从菜单栏中选择Project-&gt; Properties。
- 点击出现的对话框左侧的C / C ++ Build。
- 自动生成makefile
醇>
我建议你自己创建Makefile
答案 6 :(得分:2)
有时,如果您通过make文件制作目标,请仔细检查所有c文件是否使用正确的文件结构正确命名。
答案 7 :(得分:2)
项目 - &gt;清洁 - &gt;清除所有项目,然后清理项目 - &gt; Build Project为我工作(我做了取消检查自动生成make文件,然后在执行此操作之前重新检查它)。这是通过eclipse Juno中的AVR CDT插件进行的AVR(微处理器编程)项目。
答案 8 :(得分:1)
重命名和移动源文件后,我遇到了同样的错误。所提出的解决方案都没有为我工作,我跟踪错误是Debug目录下没有更新的元文件。删除整个Debug目录并重新构建项目为我解决了这个问题。
答案 9 :(得分:0)
如果上述解决方案对你不起作用 -
可能是您没有正确安装C ++编译器软件包,请执行以下操作: (Win7,32bit / 64bit的说明)
确保正确安装一个或多个支持的C ++编译器软件包:
(我安装了MinGW(如何在YouTube上找到安装视频))
如果您选择安装MinGW软件包:
运行MinGW安装程序并确保选择以下软件包:
- mingw-developer-toolkit
- mingw32-base
- mingw32-gcc-g ++
- msys-base
如果您没有更改应添加的默认安装文件夹,请将MinGW和MSYS bin路径添加到PATH环境变量中:
C:\MinGW\msys\1.0\bin;C:\MinGW\bin;
在eclipse中创建一个新的C ++项目:
在您的Hello World项目中,您将看到 + src 文件夹, +包含(如果是这样,您可能会很高兴。)
答案 10 :(得分:0)
另一个解决方案:
我进入了objects.mk文件
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
USER_OBJS := /home/../mylib.so
LIBS := -lstdc++fs -lGL -lGLU -lGLEW -lglut -lm -lmylib
然后不读第一行。然后更改下一行。这是另一个项目的文件夹,因为我使用“复制/克隆项目”功能复制了此文件夹,这给我造成了错误。我将myLib.so更改为/proper_address/reallyMyLib.so并成功。
警告:它可能会伤害一些未知的地方!备份整个项目,然后再执行此操作。因为它说“请勿编辑”。