2017-08-20 5 views
-3

J'essaie d'écrire un programme C++ sur win10 avec Mingw mais je ne peux pas lancer mon Makefile, maintenant je l'essaie quelques nôtres et je pense que je comprends le plus mais pas encore travail ..Comment créer un Makefile C++ et l'utiliser

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 

en tant qu'administrateur i utiliser le mingw32-faire, mais tout ce qu'il dit est Nothing to be Done for 'Makefile.mak'

je tente de modifier les pièces à nouveau, mais toujours la même chose

+0

Bien sûr, vous utilisez TAB avant que les actions de la règle? – user0042

+0

oui, j'utilise notpad ++ donc ça me dit sinon –

+0

Vous devriez envisager d'utiliser une suite d'outils de construction telle que CMake et laissez-la gérer les détails. – spectras

Répondre

0

comme je l'ai connaître son un peu de différence dans la victoire, comme il n'y a pas de RM mais del.Mais mieux wirte un tous: dans les deux linux system.In, j'utilise toujours le format ci-dessous

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

merci, je vais essayer avec cela mais il pourrait prendre un certain temps pour comprendre cela –

+0

Le plus important est que vous savez: $ @ est pour la cible, $^est toutes les dépendances, $ Ethan2048

0

Je l'ai:

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 était que je dois copier un libstdC++ - 6.dll de Mingw \ bin dans mon dossier de travail

2.Thing était que je dois saisir mingw32-make -f Makefile.mak, qu'il workt pour mon, @All Merci pour le soutien