2016-07-02 5 views
0

kann keine normale Datei erstellen. Textdatei beschäftigt make: *** [install-bin] Fehler 1Wenn ich den Befehl make auf meinem Projektverzeichnis unter Linux ausführe, erhalte ich den folgenden Fehler:

Ich führe den Befehl make aus dem Projektordner aus.

Ich erstelle eine ausführbare Datei für meine cpp-Datei. Kann mir bitte jemand helfen? Ich bin sehr neu in Linux.

+0

Es klingt, als ob Sie eine "Datei in Verwendung" -Fehler bekommen. Welche Datei verursacht das Problem? Wahrscheinlich führen Sie das Programm, das Sie * bauen *, immer noch aus. Vorschlag: Verwenden Sie 'ps -eaf' und' kill -9' um zu sehen, ob Sie das Programm vor "make" ausführen und beenden Sie es. – paulsm4

+0

@ paulsm4 Ich gebe an, dass es die reguläre Datei im Verzeichnis der cpp-Datei nicht erstellen kann. –

+0

Kumpel - Sie haben uns nicht gesagt, entweder a) * welche * Datei ist "beschäftigt", oder b) genau * wo * diese Datei befindet. Ich wette, dass die Datei dieselbe ausführbare Datei ist, die Sie erstellen möchten. Nützliche Befehle: [ps -eaf] (http://linux.die.net/man/1/ps), [kill -9] (http://linux.die.net/man/1/kill) und [ lsof] (http://linux.die.net/man/8/lsof). PS: Bitte aktualisieren Sie Ihren Beitrag mit zusätzlichen Informationen, die Sie zur Verfügung stellen können (z. B. von "lsof" oder der "make" -Ausgabe). – paulsm4

Antwort

1

EBUSY tritt auf, wenn Sie versuchen, open eine Datei, die gerade ausgeführt wird. Stattdessen sollten Sie die Datei zuerst unlink und dann creat es. Wenn Sie die Shell verwenden, stellen Sie sicher, dass Sie install statt cp verwenden.

+0

@ollc mögest du bitte klarstellen, was du meinst, indem du die erste Verknüpfung aufhebst und sie dann erstellst. Ich hatte die exe mit dem Make-Befehl zunächst erstellt, aber dann habe ich einige Änderungen im Code vorgenommen und beschlossen, den Make-Befehl zu wiederholen. Wenn ich make mache, gibt es mir diesen Fehler. –

+0

Ich installiere keine Datei, ich erstelle nur eine ausführbare Datei für die cpp-Datei. –

+1

Offenbar führen Sie die ausführbare Datei von dem Ort aus, an dem sie erstellt wurde, anstatt sie zu installieren (zumindest in '$ {DESTDIR}'). Sie können * rm -f $ @ 'am Anfang Ihrer Erstellungsregel verwenden, aber Sie sollten Ihren Ausführungsworkflow wirklich reparieren. – o11c