3

我正在运行安装了 CDT 的 Eclipse 3.7.2。Ubuntu 12.04 LTS。

我有一个正在尝试从 Geany 导入的现有 makefile C++ 项目。我可以$ make在项目的根目录中运行,一切都按预期构建。

在 Eclipse 中的错误:

make: *** 没有将目标设为“全部”的规则。停止。

我的问题:如何消除此错误?

以下是我正在采取的确切步骤:

  1. 带有现有代码的文件>新建>生成文件项目。
    • 现有代码位置设置为项目的根目录。
    • 语言设置为 C++
    • 工具链设置为 Cross GCC
  2. 在项目属性>C/C++ 构建...
    • 在生成器设置中...
      • 使用默认构建命令
      • 不使用自动生成生成文件(不可用)
    • 在行为...
      • 使用构建(增量构建)<<全部
      • 使用清洁 << 清洁

Eclipse CDT: no rule to make target all接近于回答我试图纠正的问题,但我有与 OP 相同的问题:自动生成 makefile 不可用。

我试过make: *** 没有规则可以将目标设为“全部”。停止。Eclipse error也是最受好评的解决方案。但是,当我取消选中 Build (Incremental Build) 选项时, build 绝对不会做任何事情,所以这也不对。

4

1 回答 1

7

我刚刚想出了解决方案。像往常一样,这应该是显而易见的。

make: *** 没有将目标设为“全部”的规则。停止。Eclipse error的最高评价答案是正确的,但有点模糊。这是解决方案:

  1. 转到项目属性 > C/C++ 构建 > 行为选项卡...
  2. 启用构建(增量构建)
  3. 从文本框中删除“全部”。

抛出错误是因为 Eclipse 试图找到构建“all”的规则,默认情况下该规则被指定为目标。

$ make删除“all”(并将其他所有内容保留为默认值)告诉 Eclipse 以与从终端调用完全相同的方式构建项目。

如果我在这些陈述中的任何一个都非常不正确,请随时纠正我。

于 2013-06-19T20:01:09.720 回答