Accueil > Forum > > > > undefined référence to "fonction"
undefined référence to "fonction"
jeudi 16 août 2012 à 18:49:41 |
undefined référence to "fonction"

bizonwarrior
|
Help me !!!
ça fais maintenant plusieurs jours que je bloque sur cette erreur.
je suis débutant en C/SDL et je ne trouve pas mon erreur
voici mon main où j'appelle ma fonction jouer :
Code C/C++ :
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h>
#include "constante.h"
#include "jeu.h"
void pause();
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *menu = NULL;
SDL_Rect positionMenu;
SDL_Event event;
int continuer = 1;
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetIcon(SDL_LoadBMP("avant1.bmp"), NULL); // L'icône doit être chargée avant SDL_SetVideoMode
ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("The Adventure of ceanoth", NULL);
menu = SDL_LoadBMP("menu.bmp");
positionMenu.x = 0;
positionMenu.y = 0;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE: // Veut arrêter le jeu
continuer = 0;
break;
case SDLK_KP1: // Demande à jouer
jouer(ecran);
break;
}
break;
}
// Effacement de l'écran
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
SDL_BlitSurface(menu, NULL, ecran, &positionMenu);
SDL_Flip(ecran);
}
SDL_FreeSurface(menu);
SDL_Quit();
return EXIT_SUCCESS;
}
void pause()
{
int continuer = 1;
SDL_Event event;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}
Ma fonction jouer :
Code C/C++ :
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h>
#include "constante.h"
#include "jeu.h"
void jouer(SDL_Surface *ecran)
{
SDL_Surface *ceanoth[16] = {NULL}; // 4 surface pour 4 directions
SDL_Surface *ceanothactuel = NULL;
SDL_Rect positionceanoth;
SDL_Event event;
int continuer = 1, i = 0, j = 0;
int carte[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR] = {0};
// Chargement des sprites (personnage)
ceanoth[avant1] = SDL_LoadBMP("avant1.bmp");
// ceanoth[avant2] = SDL_LoadBMP("avant2.bmp");
// ceanoth[avant3] = SDL_LoadBMP("avant3.bmp");
// ceanoth[avant4] = SDL_LoadBMP("avant4.bmp");
ceanoth[arriere1] = SDL_LoadBMP("arriere1.bmp");
// ceanoth[arriere2] = SDL_LoadBMP("arriere2.bmp");
// ceanoth[arriere3] = SDL_LoadBMP("arriere3.bmp");
// ceanoth[arriere4] = SDL_LoadBMP("arriere4.bmp");
ceanoth[gauche1] = SDL_LoadBMP("gauche1.bmp");
// ceanoth[gauche2] = SDL_LoadBMP("gauche2.bmp");
// ceanoth[gauche3] = SDL_LoadBMP("gauche3.bmp");
// ceanoth[gauche4] = SDL_LoadBMP("gauche4.bmp");
ceanoth[droite1] = SDL_LoadBMP("droite1.bmp");
// ceanoth[droite2] = SDL_LoadBMP("droite2.bmp");
// ceanoth[droite3] = SDL_LoadBMP("droite3.bmp");
// ceanoth[droite4] = SDL_LoadBMP("droite4.bmp");
ceanothactuel = ceanoth[arriere1]; // ceanoth sera dirigé vers le bas au départ
// Recherche de la position de Mario au départ
for (i = 0 ; i < NB_BLOCS_LARGEUR ; i++)
{
for (j = 0 ; j < NB_BLOCS_HAUTEUR ; j++)
{
if (carte[i][j] == ceanoth) // Si Mario se trouve à cette position sur la carte
{
positionceanoth.x = i;
positionceanoth.y = j;
carte[i][j] = VIDE;
}
}
}
// Activation de la répétition des touches
SDL_EnableKeyRepeat(100, 100);
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = 0;
break;
case SDLK_UP:
ceanothactuel = ceanoth[avant1];
positionceanoth.y--;
break;
case SDLK_DOWN:
ceanothactuel = ceanoth[arriere1];
positionceanoth.y++;
break;
case SDLK_RIGHT:
ceanothactuel = ceanoth[droite1];
positionceanoth.x++;
break;
case SDLK_LEFT:
ceanothactuel = ceanoth[gauche1];
positionceanoth.x--;
break;
}
break;
}
// Désactivation de la répétition des touches (remise à 0)
SDL_EnableKeyRepeat(0, 0);
// Libération des surfaces chargées
for (i = 0 ; i < 16 ; i++)
SDL_FreeSurface(ceanoth[i]);
}
}
Et lorsque je compile code:block me met un undefined refence to 'jouer(SDL_surface *)'
Je précise, je suis débutant et mon code n'est pas fini des aides, conseilles et autres sont les bienvenus
|
|
vendredi 17 août 2012 à 01:26:17 |
Re : undefined référence to "fonction"

CptPingu
|
Bonjour.
C'est une erreur de compilation ou de link ?
Si c'est une erreur de compilation, vérifie que la fonction "jouer" ait bien la même signature dans le header et le fichier de code (et qu'il soit bien présent dans
le header). Tu peux aussi vérifier que la garde de ton header ne soit pas mal conçue (ça arrive sur une faute de frappe).
Enfin, vérifie que le fichier "jeu.h" soit bien trouvé par ton fichier "main.c".
Si c'est une erreur de link, vérifie que le fichier "jeu.c" soit bien dans la ligne de compilation (si tu ne compiles que le "main.c", c'est sur que ça fonctionnera tout de suite moins bien :p)
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
vendredi 17 août 2012 à 14:01:18 |
Re : undefined référence to "fonction"

bizonwarrior
|
Réponse acceptée !
j'ai fais voir mon code à un ami et on à pu constater que mon 'main' n'étais pas "main.c" mais "main.cpp" donc en recréant correctement le 'main' tout va bien. Par contre aucune idée de pourquoi l'extension n'étais pas bonne.
Merci beaucoup e"n tout cas, j'aurais peut être encore besoin de vous d'ici la fin de mon projet =P
A plus
|
|
Cette discussion est classée dans : bmp, sdl, event, loadbmp, ceanoth
Répondre à ce message
Sujets en rapport avec ce message
SDL conditions affichage image [ par MattCand ]
Bonjour à tous, je suis débutant je cherche un code SDL qui, pour un paramètre donné, va afficher la bonne image. Je me suis basé sur le code SDL de b
Probleme morpion en SDL c++ [ par juju116 ]
Salut tout le monde! j'expose donc mon souci pour l'instant mon programme affiche une image en fond d'ecran et bizarement cette image est bien chargé
Probleme avec la librairie sdl et code::blocks [ par BencoAndCo ]
Bonjour, J'ai un problème avec la lib sdl et code::blocks quand je compile le prog suivant : #include #include #include int main(int argc, ch
Programme Trop Lent [ par Lemng ]
Bonjour tout le monde,voici mon problème : j'utilise la SDL pour programmer un jeu se jouant a l'aide du clavier et de la souris de la manière suivant
petit probleme SDL [ par DarthKhaos ]
Bonjour, voila j'ai un petit souci, j'ai un projet ou je dois faire bouger un bras robotisé aprés plusieur test sa marche a merveille, en selectionnan
Probleme de gestion des axes avec la SDL [ par Noha819 ]
Voila j'ai commencer a écrire un code pour controler ma souris ainsi que le clic G/D la touche entrer, echap ect... avec ma manette Xbox 360 en C.[^^l
Rotation de forme [ par boubz013 ]
Bonsoir, je suis débutant et fasciné en opengl, mais je m'oppose à un probléme, en faite j'essaie de faire tourner mes forme geometrique à l'aide des
Problème d'écran bleu lors de l'éxécution de mon programme [ par HarlockLeFleau ]
Bon, alors, en fait j'ai un petit problème: Voyez-vous je me suis récemment lancé dans la programmation pour openGL sous Windows. Alors je code sous N
Besoin d'aide[urgent] [ par pyromaster77430 ]
Bonjour j ai un probleme j utilise dev c++ pour compiler le code ci dessous mais a chaque fois j ai une erreur de syntaxefau t il rajouter quelque cho
sdl et clavier [ par scawf ]
Bonjour, j ai un petit probleme avec SDL et la gestion du clavier.. je met: while(done == 0) { //... while ( SDL_PollEvent(&event) ) { if ( event.typ
Livres en rapport
|
Derniers Blogs
SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Forum
PB PACMAN C++PB PACMAN C++ par garfield95
Cliquez pour lire la suite par garfield95
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|