CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

prob sous c++ pour GBA

Burnin
Burnin
Niveau 2
11 janvier 2003 à 18:37:18

J´ai commencé un prog en c et la je le transcris en c++ mais je commence a proramme en c++ et j´arrive pas a me servir des methodes de mes objets. Ca bloque a la compil. Ce serait sympa ke kelkun y jette un cout d´oeil

voila le code:

//////////////////************* File main.cpp *******************/////////////

  1. include "main.h"

int main()
{
pacman2.x = 100;
pacman2.y = 60;

animation.initAnimation ( pacman2);

return 0;
}

//////////////************* File Animation.cpp ****************//////////////////////

  1. include "Animation.h"

void Animation::initAnimation ( Sprite pacman2)
{
pacman = pacman2;
}
//////////////////////********* File Animation.h **********///////////////////////

  1. ifndef __ANIMATION_H_
  2. define __ANIMATION_H_
  1. include "gba.h"

typedef struct
{
u16 x; //x and y position on screen
u16 y;
u16 spriteFrame[3]; //animation frame
int activeFrame; //which frame is active
}Sprite;

class Animation
{
public:
Sprite pacman;
void initAnimation(Sprite pacman2);

private:
};

  1. endif

/////////////////////********** File main.h **************/////////////////////////

  1. ifndef __MAIN_H_
  2. define __MAIN_H_
  1. include "Animation.h"

Sprite pacman2;
Animation animation;

  1. endif

/////////********/////////////////////////

le message d´erreur est undefined reference to ´Animation::initAnimation(Sprite)´ voila merci d´avance.....

GamerFou2
GamerFou2
Niveau 7
11 janvier 2003 à 19:00:52

1) déjà évite de mettre des délcarations de variables dans un . h ! ! ( cf main.h)

2) il ressemble à quoi ton makefile pour la GBA ? comment compiles tu ? ( a mon avis il te manque le animation.o que tu as du oublier de compiler mais bon à toi de me dire)

Burnin
Burnin
Niveau 2
11 janvier 2003 à 19:13:20

voila comment je compile:

gcc -o gba.elf main.cpp
objcopy -O binary gba.elf gba.bin

GamerFou2
GamerFou2
Niveau 7
11 janvier 2003 à 19:19:03

et donc t´as pas l´impression qu´il te manque un truc ? . ..

Burnin
Burnin
Niveau 2
12 janvier 2003 à 11:54:26

voila commen je compile desoler de pa avoir repondu avant mai je pouvai pa : -)

gcc -o gba.elf main.cpp
objcopy -O binary gba.elf gba.bin

Burnin
Burnin
Niveau 2
12 janvier 2003 à 11:55:54

di moi ce qui manque je sai pa moi c la premiere fois ke je compile en c++ c justement ce ke je ve savoir

gamersnes
gamersnes
Niveau 6
12 janvier 2003 à 12:10:51

je sais pas si je me trompe mais je croi k´il faut mettre:

  1. include <main.h>

et non:

  1. include "main.h"

mais si sa se trouve sa change rien
voila j´espére ke m´on aide t´apportera qqch
^-^

GamerFou2
GamerFou2
Niveau 7
12 janvier 2003 à 12:15:58

Non non c´est pas ca le problème . ..

Ton problème vient de la compilation. Tu as 2 fichiers sources . cpp ( animation.cpp et main.cpp), or tu ne compile qu´un seul ( main.cpp) et forcément il lui manque des informations sur l´implémentation de ta classe Animation ( le code de initAnimation). Ne pouvant pas le trouver il te met l´erreur que tu as obtenu.

Ce qu´il te faut c´est compiler les DEUX sources pour les linker ensuite. Apparement tu n´utilises pas de makefile mais bon, en ligne de commandes ca doit donner quelquechose comme ca :

gcc -c -O3 -o animation.o animation.cpp
gcc -c -O3 -o main.o main.cpp
gcc -o gba.elf main.o animation.o
objcopy -O binary gba.elf gba.bin

Burnin
Burnin
Niveau 2
12 janvier 2003 à 12:19:33

je v essayer franchement c tro sympa a vou d´av oir repondu je vou tien au couran dan 5 min : -)

Burnin
Burnin
Niveau 2
12 janvier 2003 à 12:25:54

je vous merci vous etes des boss je vou laisse parce ke la fo ke je taff merci encore je reposerai pe etre d´autre question on c jamai bonne journee

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment