Makefile für die Kompilierung alle cpp-Dateien in einem Verzeichnis in separate ausführbare Datei

Ich studiere jetzt C++. Ich will ein makefile zum kompilieren alle cpp Dateien im aktuellen Verzeichnis in separaten ausführbaren Dateien. Zum Beispiel:

In einem Verzeichnis gibt es 3-c++ - Dateien, wie examp1.cpp, examp2.cpp und examp3.cpp. Ich will ein makefile zum kompilieren und verknüpfen Sie Sie und geben examp1.exe, examp2.exe und examp3.exe

Habe ich einen bash-Skript zu kompilieren, alle von Ihnen und erstellen EXE-Dateien, aber ich denke, das ist nicht die genaue Art und Weise, dies zu tun.

Habe ich ein Makefile für ".c", aber das scheint nicht zu funktionieren hier. Es ist nur bei der Erstellung von Objekt-Dateien und nicht eigentlich verknüpfen. Es ist wie folgt:

SRCS=$(wildcard *.c)
OBJS=(SRCS:.c=.o)
all: $(OBJS)

Den oben genannten code kompiliert werden, alle neuen und veränderten ".c" Dateien ".o" - Dateien mit demselben Namen im aktuellen Verzeichnis.

Dem bash-script, das ich verwende zum erstellen von ausführbaren Dateien ist wie folgt:

for i in ./*.cpp
do
   g++ -Wno-deprecated $i -o `basename $i .cpp`".exe"
done

Bedeutet dies, ich will was auch immer ".cpp" Dateien, die ich in das Verzeichnis, mit einem einfachen "make all" oder so etwas, sollte es kompilieren.

  • Haben Sie Versuch versuchen, um das makefile? Wenn ja poste es damit wir Ihnen helfen können. Es ist Dokumentation zur Verfügung, um loszulegen.
  • Die Versionen variieren von einem Anbieter zu einem anderen. Was machen Sie mit? Verwenden Sie GNU-Make auf Linux? Microsoft auf Windows/Visual C++?
  • Haben Sie versucht, schreiben Sie ein makefile, kompilieren eine source-Datei und erzeugt eine ausführbare Datei?
InformationsquelleAutor kaushik | 2012-03-20
Schreibe einen Kommentar