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

Messages postés
16
Date d'inscription
vendredi 29 mai 2009
Statut
Membre
Dernière intervention
9 février 2014
- - Dernière réponse : 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

--
Afficher la suite 

Votre réponse

2 réponses

Messages postés
63
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
1 décembre 2013
0
Merci
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.
Commenter la réponse de Neron2005
Messages postés
16
Date d'inscription
vendredi 29 mai 2009
Statut
Membre
Dernière intervention
9 février 2014
0
Merci
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
Commenter la réponse de cs_mimi2733