Bonjour,
Hier j'ai commencé un mini-projet d'un jeux video, et tout se passait bien jusqu'à ce que je commence à inclure des fichiers dans mon projet.
Actuellement, j'ai 5 fichiers : main.c , editeur.h, editeur.c, jouer.h, jouer.c .
Et voici ce qu'il y a dedans (pour que je puisse tester, les fonctions dans editeur.c et jouer.c sont vides), et la SDL ne rentre pas en ligne de compte pour mon problème :
main.c :
editeur.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <stdlib.h> #include <stdio.h> #include <SDL/SDL.h> #include <SDL/SDL_image.h> #include "jouer.h" #include "editeur.h" int main ( int argc, char** argv ) { ...blabla inutile pour mon problème if(event.key.keysym.sym == SDLK_KP1) niveau(); //le jeu se lance else if(event.key.keysym.sym == SDLK_KP2) editeurNiveau(); //l'éditeur se lance break; default: break; } ...autre blabla inutile pour mon problème return 0; }
jouer.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdlib.h> #include <stdio.h> #include <SDL/SDL.h> #include <SDL/SDL_image.h> /* je pensais que le dernier include se faisait automatiquement, mais pour voir si c'était ça... je l'ai mis... et ça ne l'est pas ! Donc apparement il n'est pas utile*/ #include "editeur.h" void editeurNiveau(void) { }
Donc quand je compile, voici les deux erreurs que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <stdlib.h> #include <stdio.h> #include <SDL/SDL.h> #include <SDL/SDL_image.h> #include "jouer.h" void niveau(void) { }
obj/Debug/main.o: In function `main':
/home/catsoulet/Programmation/Mario sokoban/main.cpp:55: undefined reference to `niveau()'
/home/catsoulet/Programmation/Mario sokoban/main.cpp:57: undefined reference to `editeurNiveau()'
J'ai bien verifié que mes fichiers étaient inclus dans le projet, donc j'en conclue, que cela viendrait des propriétés du projet ou ceux du compilateur.
Le problème est que je n'y connais pas grand chose, et par conséquent, je ne sais comment résoudre mon problème.
Merci d'avance,
Bonne journée
Partager