Aide à la création d'un makefile [C++] - C++ - Programmation
Marsh Posté le 05-01-2007 à 15:25:24
commence par écrire les premières lignes de ton Makefile, pour apprendre. On t'aidera plus si tu essaies par toi même, si tu vois les difficultés et si tu nous poses des questions spécifiques.
Par exemple, commence par écrire la ligne qui te permet de compiler un .c en .o, et celle qui permet de faire l'édition de liens pour générer l'exécutable final.
Marsh Posté le 05-01-2007 à 15:26:37
komper a écrit : |
eeeuuuhhhhhh ...............
tu as une vraie raison de faire ça ?
Marsh Posté le 05-01-2007 à 15:37:56
voila ce que j'ai fait, j'ai modifié mes en-entêtes en remplaçant les .cpp par des .out
et j'ai essayer de créer le makefile suivant :
Code :
|
et voila l'erreur que me renvoi le compilateur:
Code :
|
Marsh Posté le 05-01-2007 à 16:08:06
OK, c'est déjà un début...
avec g++, l'option -o sert à préciser le nom du fichier de sortie. Il faut donc préciser quelque chose derrière. Exemple:
g++ -o B_naval.exe B_naval.cpp |
pour générer des fichiers objets, tu n'es pas obligé de préciser de fichier de sortie : g++ utilise construit un nom par défaut en remplaçant l'extension .c/.cpp par .o. Par contre, il faut préciser l'option -c pour ne demander que la compilation et pas l'édition de liens.
du coup, l'écriture correcte de ton bout de Makefile serait :
B_naval: B_naval.cpp jeux.o: jeux.cpp flotte.o: flotte.cpp Bibliotheque.h |
Mais reprends la structure de ton projet, car il doit y avoir un problème. Comme l'a souligné kadreg, on ne #include en général pas de fichiers .cpp (il faut de bonnes raisons pour le faire, et vu que tu as l'air d'être débutant, tu n'en as probablement pas)
En particulier, pose toi les questions suivantes :
Quel est le fichier qui contient la fonction main() ? de quels headers dépend-il ?
Quels sont les autres fichiers sources ? de quels headers dépendent ils ?
Marsh Posté le 05-01-2007 à 18:46:28
ReplyMarsh Posté le 25-01-2007 à 17:01:01
En fait, je crois que tu essaies de passer par analogie de la compilation d'un fichier
comme on a pu te l'enseigner dans tes cours, à la compilation d'un projet de plusieurs
classes :
Commence par écrire un fichier .h par classe, et inclue le dans chacun des .cpp correspondants
ou tu implémente les méthodes correspondantes.
Ensuite inclue le fichier .h dans celui de la classe "de plus haut niveau", et ainsi jusqu'à ton main.
Non, parce que là, sans headers, tu cours au désastre.
Marsh Posté le 25-01-2007 à 17:33:29
Au passage, y'a des règles implicites dans make, faut s'en servir ça marche très bien
Spoiler : |
Marsh Posté le 05-01-2007 à 15:15:16
Bonjour, j'ai besoin de créer un makefile pour un projet que je suis entrain de réaliser, cependant je ne comprend pas tout .
voila comment sont structurer mes fichiers qui sont au nombre de 4 :
dans le fichier "B_naval.cpp" j'ai inclus :
#include "jeux.cpp"
ensuite dans le fichier "jeux.cpp" j'ai inclus :
#include "flotte.cpp"
ensuite dans le fichier "flotte.cpp" j'ai inclus :
#include "Biblihoteque.h"
et voila donc la structure de mes fichiers :
maintenant j'aimerai pouvoir créer le makefile à partir de cela !
Merci d'avance pour vos réponses