J'ai un pb qui tourne tres bien sous linux, il utilise les socket (entre autre).
Normalement il ne devrait pas y avoir de problemes pour le compiler sous windows a part quelques includes.
J'ai 2 petits problemes:
Code :
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp: In function `void envoie_liste_contact(int)':
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:52: implicit declaration of function `int usleep(...)'
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp: In function `int main()':
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:354: `socklen_t' undeclared (first use this function)
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:354: (Each undeclared identifier is reported only once
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:354: for each function it appears in.)
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:354: parse error before `='
- c:\docume~1\ffomni~1\bureau\rezo\serveur.cpp:412: `longueur' undeclared (first use this function)
|
Voici les includes:
Code :
- #if defined(WIN32)
-
- #else
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
- #include <netdb.h>
- #endif
- #include <pthread.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #include "./serveur.h"
|
Bon alors comme vous pouvez le voir je n'inclue rien de particulier pour windows pour le moment.
Apparemment j'ai usleep() qui pose pb,j'inclue bien "unistd.h" donc apparemment ca ne viendrais pas de là.
Le deuxième probleme est "socklen_t" qui lui n'est clairement pas definie, donc il manque un include mais lequel? J'ai un peu fouillé le web et le dossier include sans rien trouver
Sinon j'ai quand mm resolue un pb, il s'agissait des pthread, voici la page contenant les sources necessaire lors de la compilation:
http://sources.redhat.com/pthreads-win32/
il n'y a rien de bien particulier sur ces lignes
Code :
- void envoie_liste_contact(int pos)
- {
- int i;
- for(i=0;i<tab_connect[pos].get_nb_contact();i++)
- {
- usleep(100000); //ligne 52
- send(tab_connect[pos].get_socket(),tab_connect[pos].get_contact(i),strlen(tab_connect[pos].get_contact(i))+1,0);
- }
- usleep(100000);
- send(tab_connect[pos].get_socket(),"FinListe",9,0);
- }
|
Code :
- int sock_client;
- int options=-1;
- socklen_t longueur=sizeof(client);//ligne 354
|
Le post original est sur PPC:
http://forum.presence-pc.com/prese [...] 1272-1.htm