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

cs_mimi2733 16 Messages postés vendredi 29 mai 2009Date d'inscription 9 février 2014 Dernière intervention - 1 déc. 2013 à 08:41 - Dernière réponse : cs_mimi2733 16 Messages postés vendredi 29 mai 2009Date d'inscription 9 février 2014 Dernière intervention
- 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 

2 réponses

Répondre au sujet
Neron2005 63 Messages postés dimanche 5 novembre 2000Date d'inscription 1 décembre 2013 Dernière intervention - 1 déc. 2013 à 19:18
0
Utile
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
cs_mimi2733 16 Messages postés vendredi 29 mai 2009Date d'inscription 9 février 2014 Dernière intervention - 5 déc. 2013 à 13:56
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.