Bonjour,
Je code sous codeblocks, et j'ai un problème assez inexplicable. Lorsque je faisais des programmes sur console, l'inclusion des .h n'avait aucun problème, mais lorsque je fais des programmes en SDL, il ne reconnait plus aucune fonction déclarées dans le .h :
main.c
Code :
- #include <SDL.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include "test.h"
- int main ( int argc, char** argv )
- {
- demo();
- SDL_Init(SDL_INIT_VIDEO);
- SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
- SDL_Quit();
- return EXIT_SUCCESS;
- }
|
test.h
Code :
- #ifndef TEST_H
- #define TEST_H
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- void demo();
- #endif
|
test.c
Code :
- #include "test.h"
- void demo(){
- int i;
- }
|
Quand je compile, j'obtiens l'erreur "In function SDL_main, undefined reference to demo()"
Cependant, si dans le fichier main.c je remplace #include "test.h" par #include "test.c", cela compile correctement et je n'ai plus d'erreur. Inclure un .c me semble quand même étrange, donc quelqu'un n'aurait pas une idée d'où vient le problème d'inclusion ?
Merci !