2013-03-09 13 views
1

J'ai qu'un seul fichier: main.cpp et je veux créer un makefile afin de l'exécuter via Unix .. Je suis en train d'écrire un makefile, donc dans mon makefile je l'ai écrit:Créer un makefile pour Unix

#file: makefile 

a.out : main.o 
     g++ main.o -ansi -pedantic‬ 

main.o : main.cpp 
    g++ main.cpp -ansi -pedantic‬ 

clean : rm main.o a.out 

c'est bon? comment puis-je l'exécuter?

makefile 
a.out 
+2

Exécutez 'make a.out', bien que vous ayez besoin d'une option' -c' quand cimpiling 'main.o':' g ++ -c main.cpp -ansi -pedantic' – juanchopanza

+0

quelque chose comme: #file: makefile a.out: main.o g ++ main.o -ansi -pedantic main.o: main.cpp g ++ -c main.cpp -ansi -pedantic nettoyer: rm main.o a.out, non? Je vous remercie! –

+0

Cela semble juste. Sans le drapeau '-c',' g ++ 'essaie de compiler un exécutable, mais vous voulez un objet partagé (main.o). Aussi, 'make' nécessite des onglets, je pense que l'une des réponses l'indique. – juanchopanza

Répondre

1

Si main.cpp est le seul fichier source, vous avez probablement ne même pas besoin d'un Makefile.

$ rm Makefile 
$ make main 

Make a des règles par défaut très raisonnables. Profitez-en. (Le ci-dessus fonctionnera avec certaines saveurs de Make, mais (probablement) pas toutes.)

Questions connexes