none
Problème d'include visual RRS feed

  • Question

  • Bonjour,

    J'ai réalisé un projet pour faire des sockets UDP avec la librairie winsock2.

    Lors de la compilation, j'ai le message d'erreur suivant :

    ReseauUDP.obj : error LNK2028: jeton non résolu (0A000009) "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) référencé dans la fonction "int __clrcall FermetureWinsock(void)" (?FermetureWinsock@@$$FYMHXZ)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000A) "extern "C" int __stdcall closesocket(unsigned int)" (?closesocket@@$$J14YGHI@Z) référencé dans la fonction "int __clrcall FermetureSocket(unsigned int)" (?FermetureSocket@@$$FYMHI@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000B) "extern "C" int __stdcall recvfrom(unsigned int,char *,int,int,struct sockaddr *,int *)" (?recvfrom@@$$J224YGHIPADHHPAUsockaddr@@PAH@Z) référencé dans la fonction "int __clrcall ReceptionDeDonnees(char * const,int,int)" (?ReceptionDeDonnees@@$$FYMHQADHH@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000C) "extern "C" unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000D) "extern "C" int __stdcall sendto(unsigned int,char const *,int,int,struct sockaddr const *,int)" (?sendto@@$$J224YGHIPBDHHPBUsockaddr@@H@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000E) "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000F) "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) référencé dans la fonction "int __clrcall EcouteSocket(void)" (?EcouteSocket@@$$FYMHXZ)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A000010) "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) référencé dans la fonction "int __clrcall EcouteSocket(void)" (?EcouteSocket@@$$FYMHXZ)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A000011) "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) référencé dans la fonction "int __clrcall OuvertureSocket(void)" (?OuvertureSocket@@$$FYMHXZ)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A000012) "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) référencé dans la fonction "int __clrcall InitialisationWinsock(void)" (?InitialisationWinsock@@$$FYMHXZ)
    1>stdafx.obj : error LNK2028: jeton non résolu (0A00003A) "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z) référencé dans la fonction "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z)
    1>ReseauUDP.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>ReseauUDP.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>stdafx.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>.NETFramework,Version=v4.0.AssemblyAttributes.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>Application générale.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>Application générale.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>AssemblyInfo.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>AssemblyInfo.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>ReseauUDP.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 __clrcall InitialisationWinsock(void)" (?InitialisationWinsock@@$$FYMHXZ)
    1>ReseauUDP.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 __clrcall OuvertureSocket(void)" (?OuvertureSocket@@$$FYMHXZ)
    1>ReseauUDP.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 __clrcall EcouteSocket(void)" (?EcouteSocket@@$$FYMHXZ)
    1>ReseauUDP.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 __clrcall EcouteSocket(void)" (?EcouteSocket@@$$FYMHXZ)
    1>ReseauUDP.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall sendto(unsigned int,char const *,int,int,struct sockaddr const *,int)" (?sendto@@$$J224YGHIPBDHHPBUsockaddr@@H@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.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 __clrcall ReceptionDeDonnees(char * const,int,int)" (?ReceptionDeDonnees@@$$FYMHQADHH@Z)
    1>ReseauUDP.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 __clrcall FermetureSocket(unsigned int)" (?FermetureSocket@@$$FYMHI@Z)
    1>ReseauUDP.obj : error LNK2019: symbole externe non résolu "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) référencé dans la fonction "int __clrcall FermetureWinsock(void)" (?FermetureWinsock@@$$FYMHXZ)
    1>stdafx.obj : error LNK2019: symbole externe non résolu "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z) référencé dans la fonction "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z)
    1>C:\Users\Arnaud\Documents\Visual Studio 2010\Projects\Application générale\Debug\Application générale.exe : fatal error LNK1120: 23 externes non résolus

    Pourriez vous me dire comment, je dois faire l'appel à ce .h ?

    Merci d'avance,

    Cordialement,

    Physinain

     

    jeudi 15 juillet 2010 20:29

Réponses

Toutes les réponses

  • Si vous lisez bien les messages d'erreurs, vous avez des problèmes d'édition de lien et non de compilation.

    Le problème n'est pas dans le .h mais dans les options du linker où vous devez ajouter le nom du fichier LIB Ws2_32.lib associé au fichier Ws2_32.dll et winsock2.h.

    Vérifiez que le fichier lib et le chemin vers le répertoire le contenant sont correctement renseigner dans les options du linker.


    Paul Bacelar, Ex - MVP VC++
    • Marqué comme réponse Alex Petrescu mardi 20 juillet 2010 09:07
    vendredi 16 juillet 2010 08:48
    Modérateur
  • Bonjour,

     

    Dans les propriétés de votre projet, cherchez ‘Linker’ et ajoutez le dll dans ‘Additional dependencies’ le fichier ws2_32.lib.

     

     

    Je vous propose aussi ce document qui explique comment travailler avec Winsock :

    http://msdn.microsoft.com/fr-fr/library/aa916353.aspx

     

    Cordialement,

    Alex

     

     

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

    • Marqué comme réponse Alex Petrescu mardi 20 juillet 2010 09:07
    vendredi 16 juillet 2010 08:53
  • Bonjour,

     

    Est-ce que ces explications vous ont été utiles ?

     

    Cordialement,

    Alex

     

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

    lundi 19 juillet 2010 09:01
  • Bonjour,

    Excusez moi, ceci est une activité de loisir (week-end).

    J'ai ajouté Ws2_32.lib. Certaines erreurs ont disparies mais il y en a d'autres... Toujours liées à mon Réseau.h...

    Voilà les erreurs que j'obtiens :

    >------ Début de la génération : Projet : Application générale, Configuration : Debug Win32 ------
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00001E) "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z) référencé dans la fonction "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z)
    1>Application générale.obj : error LNK2028: jeton non résolu (0A00005B) "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z) référencé dans la fonction "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z)
    1>ReseauUDP.obj : error LNK2028: jeton non résolu (0A00000E) "extern "C" unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>ReseauUDP.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>ReseauUDP.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>stdafx.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>.NETFramework,Version=v4.0.AssemblyAttributes.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>Application générale.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>Application générale.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>AssemblyInfo.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>AssemblyInfo.obj : error LNK2001: symbole externe non résolu "?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)
    1>Application générale.obj : error LNK2019: symbole externe non résolu "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z) référencé dans la fonction "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z)
    1>ReseauUDP.obj : error LNK2001: symbole externe non résolu "extern "C" int __clrcall _atexit_m_appdomain(void (__clrcall*)(void))" (?_atexit_m_appdomain@@$$J0YMHP6MXXZ@Z)
    1>ReseauUDP.obj : error LNK2019: symbole externe non résolu "extern "C" unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z) référencé dans la fonction "int __clrcall EnvoiDeDonnees(char * const,int)" (?EnvoiDeDonnees@@$$FYMHQADH@Z)
    1>C:\Users\Arnaud\Documents\Visual Studio 2010\Projects\Application générale\Debug\Application générale.exe : fatal error LNK1120: 6 externes non résolus
    ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré =======

    dimanche 25 juillet 2010 16:45
  • Je pense avoir trouvé mon problème !

    Merci de vos réponses !

     

    A très bientôt, sans doute...

    Physinain

    dimanche 25 juillet 2010 16:52