Problème linkage

Résolu
M5i9k Messages postés 49 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 10 novembre 2007 - 16 juin 2006 à 00:01
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 17 juin 2006 à 00:40
Salut à tous!
Je débute les socket en c++ et j'ai un problème à la compilation, est-ce que quelqu'un pourrait m'expliquer, voici mon code :

// Serveur Tcp.cpp : définit le point d'entrée pour l'application console.
//

#include "stdafx.h" ( & tchar.h)
#include <winsock2.h>

int _tmain(int argc, _TCHAR* argv[])
{
    // Variables
    WSADATA wsa;
    SOCKET server, client=0;
    SOCKADDR_IN sin;

    // Initialisation WSA
    WSAStartup(MAKEWORD(2,0),&wsa);

    // Création de la socket serveur & endpoints
    sin.sin_family = AF_INET;
    sin.sin_addr.S_un.S_addr = ADDR_ANY;
    sin.sin_port = htons(12000);

    server = socket(AF_INET, SOCK_STREAM, 0);
    bind(server, (SOCKADDR *)&sin, sizeof(sin));

    system("Pause");

    // Fermeture du serveur
    closesocket(server);

    // Arret WSA
    WSACleanup();

    return 0;
}

voici les erreurs :
Serveur Tcp error LNK2019: symbole externe non résolu __imp__closesocket@4 référencé dans la fonction _main
Serveur Tcp error LNK2019: symbole externe non résolu __imp__htons@4 référencé dans la fonction _main
Serveur Tcp error LNK2019: symbole externe non résolu __imp__socket@12 référencé dans la fonction _main
Serveur Tcp error LNK2019: symbole externe non résolu __imp__WSACleanup@0 référencé dans la fonction _main
Serveur Tcp error LNK2019: symbole externe non résolu __imp__WSAStartup@8 référencé dans la fonction _main
Serveur Tcp fatal error LNK1120: 6 externes non résolus

J'utilise Microsoft Visual C++.
Merci d'avance.

10 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 juin 2006 à 08:31
il faut rajouter la lib ws2_32.lib dans les options du linker ou rajouter au début du source
#pragma comment(lib, "ws2_32.lib")
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
16 juin 2006 à 01:01
On met winsock2.h avant les autres includes

ULARGE_INTEGERJokyQi=QI("Joky");//OverFlow
0
M5i9k Messages postés 49 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 10 novembre 2007
16 juin 2006 à 11:12
Merci, en ajoutantdnas les options du linker cela marche, cependant avec dev-cpp, en mettant #pragma comment(lib, "ws2_32.lib"), cela produit toujours les mêmes erreurs, de meme avec #pragma comment(lib, "libws2_32.a").
Quel est la difference entre une librairie ".lib" et ".a"?
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 juin 2006 à 14:16
les librairies de visual sont des .lib, celle de devcpp des .a

Les 2 n'utilisent pas le même format

Pour devcpp, il ne faut pas utiliser pragma mais mettre le .a dans les options du linker
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
M5i9k Messages postés 49 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 10 novembre 2007
16 juin 2006 à 15:29
ok merci .
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 juin 2006 à 15:49
ULARGE_INTEGER JokyQi = QI("Joky"); // Arithmetic error: ULARGE_INTEGER can't be negative
0
M5i9k Messages postés 49 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 10 novembre 2007
16 juin 2006 à 20:33
Qu'est ce que cela signifit???
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 juin 2006 à 20:47
Non rien une petite boutade par rapport a la signature de Joky
0
M5i9k Messages postés 49 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 10 novembre 2007
16 juin 2006 à 20:53
Ah ok lol
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
17 juin 2006 à 00:40
Mdr et dire que j'voulais plus v'nir regarder ce post :)
Lol j'aurais manqué quelque chose ;)
Bravo pour cette boutade comme tu dis ;)
Mais je t'ai un peu tendu la perche :p
ULARGE_INTEGERJokyQi=QI("Joky");
0
Rejoignez-nous