Erreur lors de la compilation de SDL

..\SDL2-2.0.3\i686-w64-mingw32\lib\libSDL2main.a(SDL_windows_main.o):SDL_windows_main.c|| undefined reference to `SDL_main'|

Le problème exposé dans ce sujet a été résolu.

Bonjour,

J'essaye depuis un moment de créer un projet utilisant SDL2 (version 2.0.3) sous Code::Blocks. Après avoir suivi plusieurs tutoriels pour tenter de l'installer et de corriger les erreurs (notamment le fichier SDL_platform.h), mais je suis maintenant confronté à un problème que je n'arrive pas à corriger. J'ai un fichier avec dedans :

1
2
3
4
5
6
#include <SDL.h>

int main()
{
    return 0;
}

Mais lorsque je lance le debug j'obtiens cette erreur :

1
2
3
||=== Build: Debug in Client (compiler: GNU GCC Compiler) ===|
..\SDL2-2.0.3\i686-w64-mingw32\lib\libSDL2main.a(SDL_windows_main.o):SDL_windows_main.c|| undefined reference to `SDL_main'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 2 second(s)) ===|

Je ne comprends pas cette erreur et j'espère que vous pourrez m'aider.

Merci d'avance pour vos réponses

Merci d'avoir répondu,

J'avais déjà survolé cette vidéo pour voir si je trouvais une différence, je viens de la regarder entièrement et j'ai toujours l'erreur, la différence avec la vidéo et que je n'ai pas installé les autres bibliothèques que SDL2.dll mais je ne pense pas que ça puisse être ça.

Normalement, le fichier SDL.h doit se trouver dans le dossier SDL à l'intérieur du dossier includes. Par conséquent, l'entête correcte devrait être

1
#include <SDL/SDL.h>

.

Ensuite, concernant le prototype de la fonction main(), SDL impose celui-ci :

1
int main(int argc, char *argv[])

Ensuite, concernant l'éditeur de lien, tu dois avoir ceci :

1
2
3
-lmingw32
-lSDLmain
-lSDL

Dans le cas de SDL2, ça diffère légèrement.

Tu peux t'aider de cette vidéo : https://www.youtube.com/watch?v=uYcsRu4YB4U Le site en question a changé, maintenant c'est celui-ci : http://linor.fr/tutoriaux/tuto-372-creation-du-projet.php

Merci de cette réponse, effectivement c'était bien la déclaration de la fonction main qui posait problème. Pour ce qui est de l'en-tête il n'y a pas de problème étant donné que Code::Blocks va chercher les fichiers dans includes/sdl2/ directement.

Merci encore de m'avoir aidé.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte