Comment utiliser un makefile avec Codeblocks
J'ai quelques problèmes quand j'ai créer et ajouter un projet makefile avec Codeblocks.
J'ai créé un projet qui a 3 fichiers: main.cpp; View.cpp; Vue.h.
main.cpp:
#include <iostream>
#include "View.h"
using namespace std;
int main(int argc, char** argv) {
View view;
view.box();
}
View.cpp:
#include <iostream>
#include "View.h"
using namespace std;
void View::box()
{
int i=3;
switch(i)
{
case 1:
break;
case 2:
break;
case 3:
break;
}
cout<<"AAAA";
};
Vue.h:
#ifndef VIEW_H_INCLUDED
#define VIEW_H_INCLUDED
class View
{
////****************************
////---------------------------
////---------------------------
public :
void box();
////****************************
};
#endif
Et Makefile:
all : lienket
lk : main.o View.o
g++ main.o View.o -o lienket
main.o : main.cpp
g++ -c main.cpp
View.o : View.cpp
g++ -c View.cpp
J'ai coché c'est comme une coutume Makefile.(Projet->propriétés->Projet de création d')
Enfin j'construire, mais recevez le message d'erreur suivant:
-------------- Build: Debug in lienket (compiler: GNU GCC Compiler)---------------
Running command: mingw32-make.exe -f Makefile Debug
mingw32-make.exe: *** No rule to make target `Debug'. Stop.
Process terminated with status 2 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Comment puis-je utiliser un makefile avec Codeblocks?
main.cpp
devrait#include "View.h"
.mingw32-make.exe -f Makefile Debug
sa tente d'exécuter leDebug
cible qui n'est pas présent dans votre makefile. pour aller plus vite, réparer remplacerall
dans votre makefile pour Déboguer. Pour comprendre la bonne solution vérifiez dans les paramètres siDebug
drapeau doit être désactivé. et de vérifier si les autres paramètres doit être changé- désolé, je poste perdu , j'ai corrigé.
- Post de votre position dans la section de réponses et de les accepter.
- désolé Sagar Sakre, je ne comprends pas votre solution. mon el est mauvais. Mon projet est mal où.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous exécutez le construire à partir de l'intérieur de
codeblock
(quelle qu'elle soit), c'est en invoquant faire avec les arguments-f Makefile
(ce qui est redondant, mais ne fait pas de mal) etDebug
, ce qui signifie qu'il veut construire une cible nomméeDebug
.Mais votre makefile n'est pas de définir une cible nommée
Debug
, de sorte que vous obtenez le message d'erreur que vous voyez.Soit modifier votre makefile et de définir une cible nommée
Debug
:Ou d'autre à comprendre comment ont
codeblock
invoquer faire avec des arguments différents de sorte qu'il n'a pasDebug
sur la ligne de commande.Codeblock nécessite une Cible Nommée "Debug:" dans le makefile que la génération de votre projet.
L'autre partie du problème après cette mise en place corretly est arriver codeblock pour exécuter le programme sous le débogueur. Exemple en cliquant sur le "bouton rouge de lecture", et pas seulement le bouton d'engrenage. Pour le mettre en place:
sûr-g est spécifié à gcc ou g++ dans votre makefile.
Utiliser "Projet->Propriétés-> Build targets->nom de fichier de Sortie" pour spécifier le nom de l'exécutable généré par votre Makefile.
Utiliser "Projet->Définir des programmes d'arguments" pour définir les paramètres de ligne de commande pour le programme.