makefile "no such file or directory"

Ich versuche zu kompilieren eines C++ - Programm mit make. Nach der Lektüre durchaus ein paar tutorials, ich komme bei der folgenden Datei machen.

Liest Quelldateien aus src-Verzeichnis, legt Objekte in das build-Verzeichnis und legt die exe-Datei in das bin-Verzeichnis.

Wenn ich versuche mit dem folgenden makefile, bekomme ich die nachfolgende Fehlermeldung.

CC := g++
CFLAGS := -g -O2
BIN_DIR := /bin
BUILD_DIR := /build
SRC_DIR := /src
TARGET := wavfiletool.exe
SOURCES  := $(wildcard $(SRC_DIR)/*.c)
OBJECTS  := $(SOURCES:$(SRCDIR)/%.cpp=$(BUILD_DIR)/%.o)

$(BIN_DIR)/$(TARGET): $(OBJECTS)
    $(CC) $@ $(CFLAGS) $(OBJECTS)

$(OBJECTS): $(BUILD_DIR)/%.o : $(SRC_DIR)/%.c
    @$(CC) $(CFLAGS) -c $< -o $@

++ /bin/wavfiletool.exe -g -O2-g++: Fehler: /bin/wavfiletool.exe: Keine solche Datei oder das Verzeichnis g++: fatal error: no input files compilation
beendet. Hersteller: *** [/bin/wavfiletool.exe] Fehler 1 [Finished in 0.1 s
mit exit-code 2]

UPDATE:

Habe ich editiert das makefile. Ein Tippfehler in der vorangegangenen version war, die ich habe .c, wenn ich Sie benutze .cpp und c++. Ich bin jetzt immer eine andere Fehlermeldung.

AKTUALISIERT MAKEFILE

CC := g++
CFLAGS := -g -O2
BIN_DIR := bin
BUILD_DIR := build
SRC_DIR := src
TARGET := wavfiletool.exe
SOURCES  := $(wildcard $(SRC_DIR)/*.cpp)
OBJECTS  := $(SOURCES:$(SRCDIR)/%.cpp=$(BUILD_DIR)/%.o)

$(BIN_DIR)/$(TARGET): $(OBJECTS)
    $(CC) $(OBJECTS) $(CFLAGS)  -o $@ 

$(OBJECTS): $(BUILD_DIR)/%.o : $(SRC_DIR)/%.cpp
    @$(CC) $(CFLAGS) -c $< -o $@

neue Fehler

makefile:13: target `src/WavFile.cpp' doesn't match the target pattern
makefile:13: target `src/WavFileTool.cpp' doesn't match the target pattern
g++ src/WavFile.cpp src/WavFileTool.cpp -g -O2  -o bin/wavfiletool.exe 
  • Meine Antwort auf Ihrer die Vorherige Frage deckt diese Probleme. Ich deckte drei Probleme mit dem makefile. Die falsche variable war nur einer von Ihnen. Auch, wenn meine Antwort richtig war, sollten Sie es akzeptieren (und nicht Bearbeiten Ihre Frage, um anzuzeigen, dass Sie die Lösung gefunden).
  • Ich sah Ihre Antwort auf die anderen Fehler, aber dieser Fehler besteht weiterhin, auch mit der-o ordnungsgemäß Hinzugefügt.
  • Den Beitrag aktualisieren, und fügen Sie das neue makefile (mit dem slash-fix und den -o Update) und zeige uns die neuen error-Ausgang. Es ist äußerst unwahrscheinlich, dass die gleichen Fehler. Bitte geben Sie die gesamte Ausgabe nach der Ausführung make inklusive der Aufruf von make selbst und die g++ Befehl, der fehlschlägt. (Und code-Formatierung nicht zitieren, Formatierung so nicht zerfleischen die Zeilenumbrüche bitte.)
InformationsquelleAutor ScottF | 2015-10-13
Schreibe einen Kommentar