Mein Eclipse CDT klagt immer wieder "make: *** no rule to make all", wenn ich versuche, den folgenden Code zu kompilieren:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!!!" << endl; // prints Hello World!!!
return 0;
}
Weiß jemand, wie man das lösen kann? Ich habe den Beitrag mit dem ähnlichen Titel gelesen: make: *** Keine Regel zum Ziel "Alle". Halt. Eclipse-Fehler Aber keine dieser Antworten hilft ...
Danke vielmals!
Sie müssen Ihre Projekteinstellungen ändern, damit Eclipse-CDT Ihre Makefiles für Sie verwaltet.
"all" ist eine Standardeinstellung, obwohl die Registerkarte Behaviour-> Build (Incremental Build) keine Variable hat. Ich habe gelöst als
Wählen Sie in der Menüleiste Projekt-> Eigenschaften.
Klicken Sie links im Dialogfeld auf C/C++ Build.
Wählen Sie in C/C++ Build -> Builder Settings die Option Internal builder (anstelle von External builder) aus.
Für mich geht das.
Ich habe dieses Problem gerade für mich gelöst. verwies sogar auf diese Frage.
Ich gehe davon aus, dass Sie nicht die Regel "Alle" geschrieben haben, über die sich Eclipse beschwert. Wenn dies der Fall ist, führen Sie folgende Schritte aus:
Dadurch weiß Eclipse, dass Sie nicht versuchen, ein Make-Ziel namens "All" zu verwenden. Aus irgendeinem Grund ist dies die Standardeinstellung.
Sie haben 2 Fälle
- Wählen Sie in der Menüleiste Projekt-> Eigenschaften.
- Klicken Sie links im Dialogfeld auf C/C++ Build.
- Automatisches Makefile automatisch deaktivieren -> Überprüfen Sie auf der rechten Seite der Registerkarte Einstellungen für Builder, ob der Build-Speicherort auf. richtig (das ist der Ort, an dem sich Ihr Makefile befindet)
- Wählen Sie in der Menüleiste Projekt-> Eigenschaften.
- Klicken Sie links im Dialogfeld auf C/C++ Build.
- Aktivieren Sie das automatische Erstellen von Makefile
Ich rate Ihnen, Makefile selbst zu erstellen
Wenn Sie ein Ziel über make-Dateien erstellen, überprüfen Sie manchmal, ob alle c-Dateien mit korrekter Dateistruktur richtig benannt sind.
Projekt -> Bereinigen -> Alle Projekte bereinigen und dann Projekt -> Build Project hat für mich funktioniert (Ich habe die Deaktivierung der automatischen Erstellung von Dateien automatisch durchgeführt und diese vorher überprüft.) Dies war jedoch für ein AVR-Projekt (Mikroprozessorprogrammierung) durch das AVR CDT-Plugin in Eclipse Juno.
Ich habe dieselbe Fehlermeldung erhalten, nachdem ich Quelldateien umbenannt und verschoben habe. Keine der vorgeschlagenen Lösungen funktionierte für mich und ich verfolgte den Fehler dahingehend, dass die Metadateien im Debug-Verzeichnis nicht aktualisiert wurden. Durch das Löschen des gesamten Debug-Verzeichnisses und das erneute Erstellen des Projekts wurde das Problem für mich gelöst.
Noch eine andere Lösung:
Ich habe in objects.mk die Datei bekommen
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
USER_OBJS := /home/../mylib.so
LIBS := -lstdc++fs -lGL -lGLU -lGLEW -lglut -lm -lmylib
dann las die erste Zeile nicht. Dann nächste Zeile geändert. Es war ein Ordner eines anderen Projekts, da ich diese mit der Funktion "Projekt kopieren/kopieren" kopiert habe und dies den Fehler für mich verursacht hat. Ich habe meineLib.so in /proper_address/reallyMyLib.so geändert und es hat funktioniert.
Warnung: Es kann unbekannten Orten schaden! Sichern Sie das gesamte Projekt, bevor Sie dies tun. Weil es sagt "nicht bearbeiten".
Wenn die oben genannten Lösungen für Sie nicht funktionierten,
Möglicherweise haben Sie die C++ - Compiler-Pakete nicht ordnungsgemäß installiert. Gehen Sie wie folgt vor: (Anweisungen für Win7, 32-Bit/64-Bit)
Stellen Sie sicher, dass Sie ein oder mehrere der unterstützenden C++ - Compilerpakete ordnungsgemäß installieren:
(Ich habe MinGW installiert (HowTo-Install-Videos finden Sie auf YouTube))
Falls Sie MinGW-Pakete installieren möchten:
Führen Sie das MinGW-Installationsprogramm aus und stellen Sie sicher, dass Sie die folgenden Pakete auswählen:
- Mingw-Entwickler-Toolkit
- mingw32-Basis
- mingw32-gcc-g ++
- msys-base
Fügen Sie der PATH-Umgebungsvariablen MinGW- und MSYS-Bin-Pfade hinzu. Wenn Sie die Standardinstallationsordner nicht geändert haben, sollten Sie Folgendes hinzufügen:
C:\MinGW\msys\1.0\bin;C:\MinGW\bin;
Erstellen Sie ein neues C++ - Projekt in Eclipse:
In Ihrem Hello World-Projekt sehen Sie den Ordner + src und + Includes (Wenn ja, sind Sie wahrscheinlich bereit zu gehen).