2017-08-20 1 views
-3

ich versuche, ein C++ Programm auf win10 mit Mingw zu schreiben, aber ich kann meine Makefile laufen, jetzt versuche ich es ein paar uns und ich denke, dass ich das meiste davon verstehen, es aber immer noch nicht Arbeit ..Wie man eine C++ Makefile und Creat verwendet es

HashTabelleTest.o: main.o HashTabelle.o 
    g++ -o HashTabelleTest main.o HashTabelle.o 

main.o: main.cpp HashTabelle.cpp 
    g++ -c main.o main.cpp 

HashTabelle.o: HashTabelle.cpp HashTabelle.h 
    g++ -c HashTabelle.o HashTabelle.cpp HashTabelle.h 

clear: 
    rm *.o *.exe 

als admin verwende ich die mingw32-make, aber alles, was sie sagt, ist Nothing to be Done for 'Makefile.mak'

ich versuche, die die Teile bearbeiten neu zu sein, aber immer noch die gleiche Sache

+0

sicher, dass Sie verwendet TAB, bevor die Regelaktionen workt? – user0042

+0

ja, ich benutze notpad ++ so sagt es mir, wenn nicht –

+0

Sie sollten eine Build-Toolsuite wie CMake in Betracht ziehen und lassen Sie es die Details behandeln. – spectras

Antwort

0

wie ich Ich weiß, es ist ein wenig Unterschied im Gewinn, wie zum Beispiel gibt es keine Rm aber del.Aber besser wirte ein alle: sowohl system.In Linux verwende ich immer unter Format

CC  = g++ 
LD  = g++ 
CFLAGS = -Wall -g -O0 
LFLAGS = 

all:main.elf 

clean: 
    rm -rf *.o *.elf 

########################## 
main.elf:main.o x.o y.o 
    $(LD) -o [email protected] $^ $(LFLAGS) 

%.o:%.cpp 
    $(CC) -c -o [email protected] $< $(CFLAGS) 
+0

danke, ich werde es mit diesem versuchen, aber es könnte einige Zeit dauern, um dies zu verstehen –

+0

Der wichtigste ist, dass Sie wissen: $ @ ist für Ziel, $^ist alle Abhängigkeiten, $ Ethan2048

0

Ich habe es:

Hashtabelletest: main.o Hashtabelle.o 
    g++ -Wall -o Hashtabelletest main.o Hashtabelle.o 

main.o: main.cpp Hashtabelle.h 
    g++ -Wall -c main.cpp 

Hashtabelle.o: Hashtabelle.cpp 
    g++ -Wall -c Hashtabelle.cpp 

1.problem war, dass ich eine libstdc kopieren muss ++ - 6.dll von Mingw \ bin in meinem Arbeitsordner

2.Thing war, dass ich mingw32-make -f Makefile.mak geben muss, als es für meine, @all Danke für die Unterstützung