Symbole externe non résolu _SDL_main référencé dans la fonction

Résolu
cs_mimi2733 Messages postés 16 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 9 février 2014 - 1 déc. 2013 à 08:41
cs_mimi2733 Messages postés 16 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 9 février 2014 - 5 déc. 2013 à 13:56
Bonjour,
svp j'ai besoin d'aide je travail sur c++ et il me génère cette erreur
symbole externe non résolu _SDL_main référencé dans la fonction _main
je veux comprendre d'ou vient cette erreur et comment la corriger en sachant k g bien instalè la SDL et Opencv pour mon algo . Merci d'avance

--

2 réponses

Neron2005 Messages postés 63 Date d'inscription dimanche 5 novembre 2000 Statut Membre Dernière intervention 1 décembre 2013
1 déc. 2013 à 19:18
Bonjour,
Cela provient du fait que SDL définit une macro
#define main _main
qui permet à SDL d'appeler la fonction _main que lui même définit. Les arguments passés lors que le programme est exécuté en ligne de commande sont alors interprétés par SDL. Je dois avouer que je sais pas trop ce que ça apporte, faudrait lire la doc.
Le problème c'est que le corps de cette fonction est dans le fichier objet sdl_main.dll, ou sdl_main.a selon comment la sdl est liée au programme.

Pour résoudre le problème, y'a deux solutions :
Soit rajouter l'instruction
#undef main
juste avant la fonction main dans le programme principal, comme ça y'a plus besoin de la fonction _main puisqu'elle ne sera jamais appelée.

Soit rajouter le fichier sdl_main.dll ou sdl_main.a lors de l'édition de lien.
Il faut faire attention à l'ordre dans lequel sont ajoutés les fichiers sdl et sdl_main. Si sdl est avant sdl_main et que ca ne fonctionne pas, il faut sans doute mettre sdl_main avant sdl.
Quoi qu'il en soit, à moins de vraiment avoir besoin de la fonction _sdl_main, il est préférable d'opter pour la première solution.
0
cs_mimi2733 Messages postés 16 Date d'inscription vendredi 29 mai 2009 Statut Membre Dernière intervention 9 février 2014
5 déc. 2013 à 13:56
Bonjour , oui effectivement c'était ça le problème , g modifié les bibliothèques dans l'éditeur de lien et tous est réglé .merci infiniment
0