Error LNK2019: symbole externe non résolu "ex

Fermé
Dryko - 21 mars 2008 à 15:46
 carlo01 - 19 nov. 2009 à 10:04
Bonjour a tous,

J'ai gros probleme : j'ai realiser un projet en c++ en utilisant DevC++ qui marchait tres bien. J'ai du passer a Microsoft Visual C++ 2008 Express et depuis a la compilation, ca me dit que toutes mes fonctions sont foireuses :


1>main_in.obj : error LNK2028: jeton non résolu (0A000014) "extern "C" int __stdcall ioctlsocket(unsigned int,long,unsigned long *)" (?ioctlsocket@@$$J212YGHIJPAK@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00001A) "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00001B) "extern "C" int __stdcall recvfrom(unsigned int,char *,int,int,struct sockaddr *,int *)" (?recvfrom@@$$J224YGHIPADHHPAUsockaddr@@PAH@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00001E) "extern "C" unsigned long __stdcall htonl(unsigned long)" (?htonl@@$$J14YGKK@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A000024) "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00002E) "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00002F) "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A000032) "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2028: jeton non résolu (0A00003A) "extern "C" int __stdcall closesocket(unsigned int)" (?closesocket@@$$J14YGHI@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall closesocket(unsigned int)" (?closesocket@@$$J14YGHI@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall recvfrom(unsigned int,char *,int,int,struct sockaddr *,int *)" (?recvfrom@@$$J224YGHIPADHHPAUsockaddr@@PAH@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall ioctlsocket(unsigned int,long,unsigned long *)" (?ioctlsocket@@$$J212YGHIJPAK@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned long __stdcall htonl(unsigned long)" (?htonl@@$$J14YGKK@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>main_in.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) référencé dans la fonction "int __cdecl main(int,char * * const)" (?main@@$$HYAHHQAPAD@Z)
1>E:\envoie et reception\20080321_reception plusieurs fichiers en UDP\UDP_in\Debug\UDP_in.dll : fatal error LNK1120: 18 externes non résolus


Si quelqu'un sait comment resoudre ce probleme parce que la, ca comment a me souler!!!

Merci d'avance
A voir également:

6 réponses

J'ai eu les mêmes messages d'erreur LNK 2019 et LNK1120 en essayant, pour mon premier projet VC++ 2008 Express, d'intégrer directement un fichier de code source à partir duquel j'avais déjà généré un exécutable fonctionnant correctement, à partir un autre compilateur (Cygwin), sous forme d'application console.

Alors j'ai essayé autre chose:

créer un projet console sans partir d'un fichier de code source.
Menu "Fichier", "Nouveau", "Projet".
"Types de projets": "Win32".
"Application", "Modèles Visual Studio installés": "Application console Win32".
Entrer le Nom: test, par exemple.
Choisir l'Emplacement.
OK.
Terminer.

On voit que plein de choses sont déjà créées en termes de fichiers (alors qu'on pourrait imaginer le projet vide).
On trouve des fichiers source de code C++ (stdafx.cpp, et un fichier portant le nom du projet: test.cpp), des fichiers d'en-tête (stdafx.h, targetver.h).
C'est qu'une une mini-solution complète a déjà été créée.
On peut la générer, F7.
Ça génère sans erreur.

Si on édite test.cpp, on voit par exemple qu'on n'a pas le prototype habituel de la fonction "main", "int main(void)", mais "int _tmain(int argc, _TCHAR* argv[])" à la place.
Mais on peut remettre "int main(void)" à la place de "int _tmain(int argc, _TCHAR* argv[])", ça génère quand même sans erreur, et ça s'exécute (Ctrl-F5) sans erreur.
L'important c'est, je pense, tous les fichiers supplémentaires qui ont été créés au départ et ce qu'il y a dedans.

J'ai reporté les parties de mon fichier source d'origine et ça génère sans erreur également.
Ça s'exécute exactement comme sous Cygwin.

Il me semble que le lien donné plus haut par eee.eee contient des choses très intéressantes, pourvu qu'on comprenne l'anglais et qu'on se donne la peine de décrypter les messages postés sur ce lien et d'essayer les solutions indiquées.

J'ai écrit ça pour le cas où quelqu'un aurait obtenu ces messages d'erreur LNK 2019 et LNK1120 en essayant de faire la même chose que moi, pour proposer une solution.
14
bonjour :)

j ai le meme erreur que toi avec la fonction SnmpStartup() et bin la solution en fin cété d faire ajouter des nouveaux lib : a savoir le snmp32.lib alors verifier que vous avez mi tous les libs necessaires dans library dependencies (Project Properties > Linker > Input > Additional Dependencies). ;)
0