Eclipse CDT: нет правил для цели

Мой Eclipse CDT продолжает жаловаться: «make: *** нет правила для достижения цели all», когда я пытаюсь скомпилировать фрагмент кода ниже:

#include <iostream>
using namespace std;

int main() {
cout << "Hello World!!!" << endl; // prints Hello World!!!
return 0;
}

Кто-нибудь знает, как это решить?
Я прочитал пост с похожим названием:
make: *** Нет правила для создания цели `all ‘. Стоп. Ошибка затмения
Но ни один из этих ответов не помогает …

Большое спасибо!

35

Решение

Вам нужно изменить настройки вашего проекта, чтобы Eclipse-CDT управлял вашими Make-файлами для вас.

  1. Выберите Project-> Properties в строке меню.
  2. Нажмите C / C ++ Build слева в появившемся диалоговом окне.
  3. На вкладке «Настройки Builder» справа выберите «Автоматически создавать Makefile» в разделе «Создание Makefile».
  4. Хит ОК и построить снова.
36

Другие решения

«all» — это настройка по умолчанию, хотя вкладка Behaviour-> Build (Incremental build) не имеет переменных. Я решил как

  1. Перейдите в Свойства проекта> Сборка C / C ++> Вкладка «Поведение».
  2. Leave Build (Добавочная сборка) Проверено.
  3. Введите «тест» в текстовом поле рядом с «Построить» (Incremental Build).
  4. Построить проект. Вы увидите сообщение об ошибке.
  5. Вернитесь в Build (Incremental Build) и удалите «тест».
  6. Построить проект.
13

  1. Выберите Project-> Properties в строке меню.

  2. Нажмите C / C ++ Build слева в появившемся диалоговом окне.

  3. На вкладке «Настройки Builder» справа проверьте и убедитесь, что «Расположение сборки» указано правильно.
9

В C / C ++ Build -> Builder Settings выберите Внутренний построитель (вместо Внешнего построителя).

Меня устраивает.

7

Я только что решил эту проблему для себя; даже ссылался на этот вопрос.

Я предполагаю, что вы не написали правило «все», на которое жалуется Eclipse. Если это так, выполните следующие действия:

  1. Перейдите в Свойства проекта> Сборка C / C ++> Вкладка «Поведение».
  2. Leave Build (Добавочная сборка) Проверено.
  3. Удалите «все» из текстового поля рядом с «Построить» (Incremental Build).
  4. Скомпилируйте!

Это позволяет Eclipse знать, что вы не пытаетесь использовать цель make под названием «all». По какой-то причине это по умолчанию.

5

У вас есть 2 случая

  • Если вы создаете Makefile самостоятельно, перейдите к
  1. Выберите Project-> Properties в строке меню.
  2. Нажмите C / C ++ Build слева в появившемся диалоговом окне.
  3. Отключить создание make-файла автоматически -> На вкладке «Настройки Builder» справа, проверьте и убедитесь, что «Build location»
    правильно (это место, где ваш Makefile)
  • Если у вас нет Makefile -> вам нужен Eclipse DS-5, чтобы помочь вам создать Makefile
  1. Выберите Project-> Properties в строке меню.
  2. Нажмите C / C ++ Build слева в появившемся диалоговом окне.
  3. Включить генерацию make-файла автоматически

Я советую вам создать Makefile самостоятельно

3

Иногда, если вы делаете цель с помощью make files, дважды проверяйте, что все файлы c названы правильно с правильной структурой файла.

2

Project -> Clean -> Clean all Projects, а затем Project -> Build Project сработал для меня (я автоматически отключил генерацию make-файла и затем перепроверил его перед этим). Это было для проекта AVR (микропроцессорное программирование) через плагин AVR CDT в затмении Juno, хотя.

2
По вопросам рекламы [email protected]