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

Quel est le problème ?

[-ImBack-]
[-ImBack-]
Niveau 7
04 juin 2012 à 23:47:48

Bonjour/Bonsoir tout le monde !

Donc, voilà mon problème:

Je suis en train de créer un jeu. Mais, lorsque je fait un appel de fonction qui se trouve dans un autre fichier, le code plante.

Le code du main:

  1. include <stdlib.h>
  2. include <stdio.h>
  3. include <SDL/SDL.h>
  4. include <SDL_image.h>
  1. include "jeu.h"

int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *menu = NULL;
SDL_Rect PositionMenu;
SDL_Event event;
int continuer = 1;

PositionMenu.x = 0;
PositionMenu.y = 0;

SDL_Init(SDL_INIT_VIDEO);

ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);
SDL_WM_SetCaption("Zombie Survival", NULL);
menu = IMG_Load("Menu.jpg");

SDL_EnableKeyRepeat(1000, 1000);

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;

case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_1:
jouer(ecran);
break;

case SDLK_2:
continuer = 0;
break;
}
break;

}

SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(menu, NULL, ecran, &PositionMenu);
SDL_Flip(ecran);
}

SDL_FreeSurface(menu);
SDL_Quit();

return EXIT_SUCCESS;
}

Code du jeu.c :

  1. include <stdlib.h>
  2. include <stdio.h>
  3. include <SDL/SDL.h>
  4. include <SDL_image.h>
  1. include "jeu.h"

void jouer(SDL_Surface* ecran)

{
SDL_Surface *immeuble = NULL;
}

Et code du jeu.h :

void jouer(SDL_Surface* ecran);

A votre avis, quelle est l'erreur ? :(

Merci de votre compréhension. :-)))

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

caelacanthe
caelacanthe
Niveau 10
05 juin 2012 à 01:27:27

et à quoi sert la fonction jouer, au juste? :hap:

Pocolo
Pocolo
Niveau 10
05 juin 2012 à 01:28:45

Le problème c'est que t'as fait un C/C bête et méchant d'un code du sdz que l'on voit souvent ici.

chris_27
chris_27
Niveau 10
05 juin 2012 à 09:53:21

+1000 à mon voisin du dessus.

tbop2
tbop2
Niveau 10
05 juin 2012 à 10:35:39

Le probleme c'est que tu ne dis meme pas quelle fonction plante et quel est le message d'erreur. Le probleme c'est que tu as rien debogue par toi-meme avant. Et le probleme c'est juste le meilleur LOL anti sdz que j'ai vu sur ce forum :

void jouer(SDL_Surface* ecran)

{
SDL_Surface *immeuble = NULL;
}

Paye ta fonction qui sert a rien et qui n'a aucun sens AHAH !

Est-ce que tu comprends au moins ce que tu fais garcon ? :)

[-ImBack-]
[-ImBack-]
Niveau 7
15 juin 2012 à 17:14:04

tbop2 :d) Oui, je comprends ce que je fais. La fonction, je l'ai à peine commencer :-))) Ce qui plante, c'est l'appel à la fonction "jouer". Le message d'erreur est "undefined reference to 'jouer(SDL_Surface*)'

Je ne sais pas quoi faire :-(( Quelqu'un pourrait m'aider ?

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

godrik
godrik
Niveau 30
15 juin 2012 à 17:46:20

Tu ne link pas avec jeu.o

Qu'est ce que tu utilise pour compiler?

[-ImBack-]
[-ImBack-]
Niveau 7
15 juin 2012 à 18:28:53

godrik :d) Euh... Celui qui est avec Code::Blocks je crois :P

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

godrik
godrik
Niveau 30
15 juin 2012 à 20:30:09

est ce que l'edition de lien est bien fait?

Est ce qu'il y a une commande genre "gcc jeu.o main.o -o main" dans les logs?

[-ImBack-]
[-ImBack-]
Niveau 7
15 juin 2012 à 20:39:02

C'est à dire ? Je suis débutant ^^

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

godrik
godrik
Niveau 30
15 juin 2012 à 20:48:05

Alors lis le manuel de ton IDE pour savoir comment faire de la compilation modulaire.

[-ImBack-]
[-ImBack-]
Niveau 7
16 juin 2012 à 02:39:59

J'ai regarder, mais je ne vois pas mon erreur. :non: S'il vous plait, de l'aide :-p

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

godrik
godrik
Niveau 30
17 juin 2012 à 03:44:12

NdM: J'ai efface l'autre topic puisque c'est un clone de celui la.
Le probleme est un probleme d'edition de lien. jeu.c n'est pas ajoute dans le projet. (ou autre nom utilise par code::blocks.)

[-ImBack-]
[-ImBack-]
Niveau 7
17 juin 2012 à 12:22:59

Tout les projets sont ajoutés pourtant :(

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

[-ImBack-]
[-ImBack-]
Niveau 7
17 juin 2012 à 13:53:57

C'est bon, c'est résolu ! :-) En tout cas, merci de votre aide ! :-)

Coucou, tu veux voir mon argent ?
¯¯\/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
:hap:

caelacanthe
caelacanthe
Niveau 10
17 juin 2012 à 14:42:51

et, comment t'as fait? :hap:

JujuDredd
JujuDredd
Niveau 10
17 juin 2012 à 19:41:35

Il défini la fonction avant de l'utiliser, interdit en C. Ou alors il faut rajouter en début de fichier :
void jouer(SDL_Surface* ecran);

godrik
godrik
Niveau 30
17 juin 2012 à 21:11:51

Les gens (jujudredd), le problem qu'il avait etait un probleme d'edition de lien, pas de compilation... jeu.o n'etait pas linker dans le binaire donc ca ne marchait pas.

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