Fix: Keine Ziele angegeben und kein Makefile gefunden.
Unabhängig davon, ob Sie mit Ubuntu, Debian oder Red Hat arbeiten, wird möglicherweise ein Fehler angezeigt, der lautet: *** Keine Ziele angegeben und kein Makefile gefunden. Halt. Da dies ein generelles Problem im Zusammenhang mit GNU Make als Ganzes ist, könnten Sie es in unzähligen Unix-Implementierungen sehen. Dies bedeutet, dass in Ihrem aktuellen Arbeitsverzeichnis keine Datei namens Makefile oder Makefile vorhanden ist. Zum Glück ist das ein einfacher Fehler zu beheben.
Methode 1: Suchen eines Makefile im aktuellen Verzeichnis
Vielleicht möchten Sie versuchen, den make- Befehl noch einmal im aktuellen Verzeichnis auszuführen, um festzustellen , ob derselbe Fehler auf Sie zutrifft. Dies ist besonders wichtig, wenn Sie ein neues Terminalfenster geöffnet haben und bereits versucht haben, das richtige Verzeichnis zu finden, oder wenn Sie den Befehl cd seit dem letzten Versuch, GNU make auszuführen, verwendet haben.
Angenommen, Sie tun dies, indem Sie den Befehl ls oder dir ausführen, um zu sehen, welche Dateien sich in Ihrem aktuellen Verzeichnis befinden. Sie befinden sich möglicherweise nicht im rechten Teil der Verzeichnisstruktur. Wenn Sie feststellen, dass Sie Verzeichnisse sehen, die zu Ihrem Verzeichnis root / oder Ihrem Verzeichnis home ~ gehören, sollten Sie den Befehl cd ausführen, um sich an der richtigen Stelle zu positionieren, um den Befehl make auszuführen.
Es besteht die Möglichkeit, dass Sie sich von dort, wo Sie erwartet werden, noch weiter entfernt befinden. In unserem Beispiel haben wir versucht, make aus dem Verzeichnis / var / crash auszuführen und festgestellt, dass es überhaupt nicht funktioniert hat. Es kann nicht erwartet werden, dass es von hier aus läuft, da die einzigen Dateien an diesem bestimmten Ort aus nicht zusammenhängenden Absturzberichten stammen.
Wahrscheinlich werden Sie Ihren make-Befehl aus einem Verzeichnis ausführen, das sich irgendwo in Ihrem Home-Verzeichnis befindet. Wenn Sie zum Beispiel die neueste Version von GNU nano aus der Quelle erstellen würden, hätten Sie wahrscheinlich ein Verzeichnis namens ~ / nano-2.9.6, zu dem Sie cd und dann make erneut ausführen können. Sie sollten versuchen, ls noch einmal auszuführen, bevor Sie versuchen, sicherzustellen, dass sich ein Makefile in dem Verzeichnis befindet, aus dem Sie erstellen können.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenBeachten Sie, dass Sie die Installation zuerst konfigurieren müssen. Der Befehl configure erstellt die perfekte Umgebung für den GNU-Compiler. Wenn Sie selbst im richtigen Projektverzeichnis kein Makefile finden, führen Sie ./configure aus, während Sie noch darin sind, gefolgt vom Befehl make . Wenn dies korrekt kompiliert wird, können Sie Ihr Projekt mit sudo make install installieren, aber denken Sie daran, dass Sie nichts als root erstellen wollen, so dass Sie sudo make oder irgendetwas anderes außerhalb der Installation nie ausführen wollen.
Methode 2: Angeben eines benutzerdefinierten Makefile
Unter der Annahme, dass das Problem behoben wurde, müssen Sie nichts mehr tun. Es gibt jedoch zwei spezielle Anwendungsfälle, die berücksichtigt werden müssen, wenn die vorherige Methode Ihr Problem nicht behoben hat. Dazu gehört das Schreiben eines eigenen Makefiles für ein Projekt, das Sie manuell konfiguriert haben.
Sie können mit der Option -f ein benutzerdefiniertes Makefile angeben, das etwas anderes als wörtlich Makefile genannt wird. Wenn Sie zum Beispiel ein Backup-Makefile namens makefile.bak haben, können Sie es angeben, indem Sie make -f makefile.bak über die Befehlszeile ausführen. Sie können makefile.bak durch einen beliebigen Dateinamen ersetzen und die Option -i verwenden, wenn Sie Fehler in einem benutzerdefinierten oder veralteten Makefile ignorieren möchten, während der Compiler läuft. Dies wird normalerweise nicht empfohlen, da Sie wahrscheinlich Ihr Makefile bearbeiten möchten, wenn etwas nicht in Ordnung ist.
Der andere sehr eng verwandte Anwendungsfall betrifft eine Situation, in der die Groß- / Kleinschreibung eine Rolle spielt. Die folgenden sind alle separaten Dateien in der Unix-Art der Geschäftstätigkeit:
- Makefile
- Makefile
- makeFile
- MakeFile
- Makefile
Benutzerdefiniert konfigurierte Programme können ein Makefile mit einer ungeraden Großschreibung möglicherweise nicht erkennen. Wenn Sie es für ein Codeprojekt handgeschrieben haben, an dem Sie gerade arbeiten, werden Sie es wahrscheinlich in Makefile umbenennen wollen, obwohl Sie die Option -i verwenden könnten, um sicherzustellen, dass GNU make es finden kann. Denken Sie daran, dass Sie, wenn Sie alles richtig geschrieben haben, immer noch ./configure von Ihrem eigenen Projekt ausführen können, um es zu zwingen, die richtige Umgebung zu generieren und dieses Problem zu vermeiden.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken