Salut !
Je suis en train de porter un programme windows vers linux qui utilise les sockets et les threads. Le programme fonctionne sous windows mais pas avec linux.
voici mes erreurs suivies d'un bout de code :
socketClient.cpp:20: erreur: « sockaddr_in » ne nomme pas un type
socketClient.cpp:21: erreur: « SOCKADDR_IN » ne nomme pas un type
socketClient.cpp:23: erreur: « WSADATA » ne nomme pas un type
socketClient.cpp: In constructor `clientProgram::clientProgram()':
socketClient.cpp:41: erreur: « MAKEWORD » non déclaré (première utilisation dans cette f onction)
socketClient.cpp:41: erreur: (Chaque identificateur non déclaré est rapporté seulement u ne seule fois pour la fonction dans laquelle il apparaît.)
socketClient.cpp:41: erreur: « MyWsaData » non déclaré (première utilisation dans cette fonction)
socketClient.cpp:41: erreur: « WSAStartup » non déclaré (première utilisation dans cette fonction)
socketClient.cpp: In member function `void clientProgram::readFile()':
socketClient.cpp:61: erreur: « sockInfoServer » non déclaré (première utilisation dans c ette fonction)
socketClient.cpp: In member function `void clientProgram::specificationsServer()':
socketClient.cpp:82: erreur: « sockInfoServer » non déclaré (première utilisation dans c ette fonction)
socketClient.cpp:82: erreur: « inet_addr » non déclaré (première utilisation dans cette fonction)
socketClient.cpp:85: erreur: « htons » non déclaré (première utilisation dans cette fonc tion)
socketClient.cpp:90: erreur: « SOCKADDR » non déclaré (première utilisation dans cette f onction)
socketClient.cpp:90: erreur: expected primary-expression avant un élément lexical « ) »
socketClient.cpp: In member function `void clientProgram::specificationsClient()':
socketClient.cpp:98: erreur: « sockInfoClient » non déclaré (première utilisation dans c ette fonction)
socketClient.cpp:98: erreur: « inet_addr » non déclaré (première utilisation dans cette fonction)
socketClient.cpp:101: erreur: « htons » non déclaré (première utilisation dans cette fon ction)
socketClient.cpp: In member function `void clientProgram::clientConnections()':
socketClient.cpp:115: erreur: « closesocket » non déclaré (première utilisation dans cet te fonction)
socketClient.cpp:116: erreur: « WSACleanup » non déclaré (première utilisation dans cett e fonction)
Code :
- //#include <winsock2.h>
- #include <pi-socket.h>
- #include <semaphore.h>
- #include <pi-sockaddr.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <linux/socket.h>
- #include <iostream.h>
- #include <fstream.h>
- //#pragma comment(lib, "ws2_32.lib" )
- #define bufferLength 5
- class clientProgram
- {
- private :
- int mySocketServer;//used to define the server's socket
- int mySocketClient;//used to define the client's socket
- sockaddr_in sockInfoClient ;
- SOCKADDR_IN sockInfoServer ;//technical infos of the socket:
- //(port, éventually ip adress
- WSADATA MyWsaData; //used for WSAStartup in the constructor
|
comme vous pouvez le voir, j'ai aussi quelques problèmes pour trouver les bons include et pour savoir si WSADATA est propre a windows (si oui, quel est son "remplaçant" sous LINUX ?)
Message édité par TheShot le 09-12-2005 à 17:49:22