Compiler/exécuter un projet c++ : erreur où ?
Snip714
Messages postés
240
Date d'inscription
Statut
Membre
Dernière intervention
-
Snip714 Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
Snip714 Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
Bonjour, en essayant de compiler/exécuter un projet c++ (j'utilises Code::Blocks) voici ce que j'obtiens :
Et voici main.cpp :
PS : Si vous souhaitez voir d'autres fichiers demandez moi !
Merci infiniment d'avance,
Compiling: C:\Users\Valter\Desktop\Prince c++\main.cpp Linking console executable: C:\Users\Valter\Desktop\Prince c++\main.exe C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x215): undefined reference to `Boss::Boss(std::string, std::string, int, int, int, int)' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x3dc): undefined reference to `Hero::Hero(std::string, std::string, int, int, int, int, int)' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x4f7): undefined reference to `Active::attack(Active&)' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x509): undefined reference to `Active::attack(Active&)' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x51b): undefined reference to `Active::attack(Active&)' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x526): undefined reference to `Hero::show_max_life() const' C:\Users\Valter\Desktop\Prince c++\main.o:main.cpp:(.text+0x535): undefined reference to `Active::life_back(int)' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 0 seconds) 7 errors, 0 warnings
Et voici main.cpp :
#include <iostream> #include <string> #include "Active.h" #include "Boss.h" #include "Hero.h" using namespace std; int main() { Boss Klompa("Klompa", "le Terrible", 370, 160, 130, 25); Hero Valter("Valter", "the Moonstone", 90, 90, 31, 27, 40); Valter.attack(Klompa); Valter.attack(Klompa); Klompa.attack(Valter); Valter.life_back(Valter.show_max_life()); return 0; }
PS : Si vous souhaitez voir d'autres fichiers demandez moi !
Merci infiniment d'avance,
A voir également:
- Compiler/exécuter un projet c++ : erreur où ?
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Comment compiler des pdf - Guide
- Inno setup compiler - Télécharger - Édition & Programmation
- Musique projet x ✓ - Forum Musique / Radio / Clip
8 réponses
il me semble que ton boss.cpp et ton hero.cpp ne sont pas compilés en meme temps que tu compiles ton main, sont-ils dans le meme projet ?
Boss.cpp
Boss.h
Hero.cpp
Hero.h
#include "Boss.h" using namespace std; Boss::Boss() : Active() { } Boss::Boss(string name, string slogan, int life, int offense, int defense, int speed) : Active(name, slogan, life, offense, defense, speed) { } void Boss::how_finish() { // A implémenter } void Boss::die_finish() { // A implémenter }
Boss.h
#ifndef DEF_BOSS #define DEF_BOSS #include <iostream> #include <string> #include "Active.h" class Boss : public Active { public: Boss(); Boss(std::string name, std::string slogan, int life, int offense, int defense, int speed); void how_finish(); void die_finish(); }; #endif
Hero.cpp
#include "Hero.h" using namespace std; Hero::Hero() : Active() { } Hero::Hero(string name, string slogan, int max_life, int life, int offense, int defense, int speed) : Active(name, slogan, life, offense, defense, speed) { } int Hero::show_max_life() const { return this->m_life; }
Hero.h
#ifndef DEF_HERO #define DEF_HERO #include <iostream> #include <string> #include "Active.h" class Hero : public Active { public: Hero(); Hero(std::string name, std::string slogan, int max_life, int life, int offense, int defense, int speed); int show_max_life() const; private: int m_max_life; }; #endif
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour la classe hero tu oublies d'initialiser le membre m_max_life, modifie tes constructeurs et réessaie de compiler et dans showmaxlife tu appelle un membre inexistant, compile d'abord tes fichiers de classes et ensuite ton projet
Ben... J'ai changé Hero.cpp en :
Mais c'est pareil ^^
#include "Hero.h" using namespace std; Hero::Hero() : Active() { } Hero::Hero(string name, string slogan, int max_life, int life, int offense, int defense, int speed) : Active(name, slogan, life, offense, defense, speed), m_max_life(max_life) { } int Hero::show_max_life() const { return this->m_life; }
Mais c'est pareil ^^