Help: link error

deutant Messages postés 13 Date d'inscription jeudi 4 mai 2006 Statut Membre Dernière intervention 5 juin 2006 - 5 juin 2006 à 10:10
Bel0 Messages postés 71 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 14 septembre 2007 - 5 juin 2006 à 10:44
Bonjour tt le monde
j ai un code du net k j essai de compiler avec vc++2005express, mais j ai tjs des erreurs de link du style: 

 LIBCMT.lib(crt0.obj) : error LNK2019: symbole externe non résolu _main référencé dans la fonction ___tmainCRTStartup

et aussi une erreur qui se repete celle de "symbole externe non résolu" que j arrive pas a comprendre ni a resoudre!!!
merci d avance

1 réponse

Bel0 Messages postés 71 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 14 septembre 2007
5 juin 2006 à 10:44
Un symbole externe est un symbole (comprendre par la fonction) qui sera exporté dans la table 'export'. Cette table permet d'informer le monde extérieur des fonctions disponibles dans le programme (ou tout fichier contenant du code exécutable en général). Dans le cas d'une dll par exemple, toutes les fonctions que la dll met à disposition du monde extérieur son dans cette table. Dans le cas d'une application, il n'y en a qu'une seule: la fonction main (ou mainctrstartup qui appelle main). Cette fonction est absolument nécessaire comme elle consitue le point d'entrée dans le programme (entry point).

En ce qui concerne ton problème, il semble que le linker n'arrive pas à trouver la méthode main. Il semblerait donc que tu ne l'as pas déclaré, fait une faute d'orthographe dans le nom de la méthode (pas de majuscule) ou mis les mauvais paramètre.

Vérifie aussi que tu utilises le nom de méthode associé au type d'application que tu essayes de compiler. 'main' pour les applications console, WinMain pour les applications graphiques, DllMain pour les dlls.
0
Rejoignez-nous