Früher habe ich meine Programme mit Batch-Skripts unter Windows kompiliert, aber kürzlich habe ich Makefiles entdeckt, die viel effizienter sind.
In meiner .bat
Datei hatte ich diese Zeile, die zur Laufzeit einige DLLs in das aktuelle Verzeichnis kopierte, und es hat perfekt funktioniert.
copy C:\lib\glfw\glfw.dll
Ich habe dieselbe Zeile in meinem Makefile versucht und auch die Alternative cp
ausprobiert, aber mein Terminal gibt diesen Fehler aus, obwohl die Datei am angegebenen Speicherort vorhanden ist
process_begin: CreateProcess(NULL, copy C:\lib\glfw\glfw.dll, ...) failed
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [core.exe] Fehler 2
Hier ist das vollständige Makefile, das ich verwende. Beachten Sie, dass es ohne die Kopierzeile einwandfrei funktioniert.. was mache ich falsch oder ist das möglich?
EXEC = core.exe
OBJS = src/obp.o
CC = g++
CFLAGS = -W -Wall
LIBS = -lSOIL -lglew32 -lglfw -lopengl32
LDFLAGS =
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
copy C:\lib\glfw\glfw.dll
clean:
rm -f $(EXEC) $(OBJS) *~