[build Error] [serveur.exe] Error 1
taha
-
clakclak -
clakclak -
bonjour a tout le monde , je tien a féliciter toutes les personnes responsables pour ce site, merci davance ,pour resoudre mon probleme ,
voila ,
je code un serveur windows en C , sous dev cpp ,
voila mon code
#include "stdio.h"
#include "winsock2.h"// pour les fonctions socket
#include <cstdio> // Pour les Sprintf
#pragma comment(lib,"ws2_32.lib")
WSADATA initialisation_win32; // Variable permettant de récupérer la structure d'information sur l'initialisation
int erreur; // Variable permettant de récupérer la valeur de retour des fonctions utilisées
int tempo; // Variable temporaire de type int
int nombre_de_caractere; // Indique le nombre de caractères qui a été reçu ou envoyé
char buffer[65535]; // Tampon contenant les données reçues ou envoyées
SOCKET id_de_la_socket; // Identifiant de la socket
SOCKET id_de_la_nouvelle_socket; // Identifiant de la nouvelle socket
SOCKADDR_IN information_sur_la_source; // Déclaration de la structure des informations lié à l'écoute
int main (int argc, char* argv[])
{
printf("\nBonjour, vous etes du cote serveur.\n");
// ********************************************************
// Initialisation de Winsock
// ********************************************************
erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
if (erreur!=0)
printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nWSAStartup : OK");
id_de_la_socket=socket(AF_INET,SOCK_STREAM,0);
if (id_de_la_socket==INVALID_SOCKET)
printf("\nDesole, je ne peux pas creer la socket du a l'erreur : %d",WSAGetLastError());
else
printf("\nsocket : OK");
tempo=1;
erreur=setsockopt(id_de_la_socket,IPPROTO_TCP,TCP_NODELAY,(char *)&tempo,sizeof(tempo));
if (erreur!=0)
printf("\nDesole, je ne peux pas configurer cette options du à l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nsetsockopt : OK");
information_sur_la_source.sin_family=AF_INET;
information_sur_la_source.sin_addr.s_addr=INADDR_ANY; // Ecoute sur toutes les IP locales
information_sur_la_source.sin_port=htons(33333); // Ecoute sur le port 33333
erreur=bind(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,sizeof(information_sur_la_source));
if (erreur!=0)
printf("\nDesole, je ne peux pas ecouter ce port : %d %d",erreur,WSAGetLastError());
else
printf("\nbind : OK");
erreur=99; // Initiation de erreur pour être sur que l'on va rentrer dans la boucle
while(erreur!=0) // Boucle tant qu'une demande de session (SYN) tcp n'a pas été reçu
erreur=listen(id_de_la_socket,1);
printf("\nlisten : OK");
printf("\nAttente de la reception de demande d'ouverture de session tcp (SYN)");
tempo=sizeof(information_sur_la_source); // Passe par une variable afin d'utiliser un pointeur
id_de_la_nouvelle_socket=accept(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,&tempo);
if(id_de_la_nouvelle_socket==INVALID_SOCKET)
printf("\nDesole, je ne peux pas accepter la session TCP du a l'erreur : %d",WSAGetLastError());
else
printf("\naccept : OK");
nombre_de_caractere=recv(id_de_la_nouvelle_socket,buffer,1515,0);
if (nombre_de_caractere==SOCKET_ERROR)
printf("\nDesole, je n'ai pas recu de donnee");
else
{
buffer[nombre_de_caractere]=0; // Permet de fermer le tableau après le contenu des data, car la fonction recv ne le fait pas
printf("\nVoici les donnees : %s",buffer);
}
erreur=shutdown(id_de_la_nouvelle_socket,2); // 2 signifie socket d'émission et d'écoute
if (erreur!=0)
printf("\nDesole, je ne peux pas fermer la session TCP du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nshutdown : OK");
erreur=closesocket(id_de_la_nouvelle_socket);
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nclosesocket : OK");
erreur=closesocket(id_de_la_socket);
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nclosesocket : OK");
erreur=WSACleanup(); // A appeler autant de fois qu'il a été ouvert.
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nWSACleanup : OK");
}
------------
jai resoulu des probelemes de linkage avant ,
mais la jai un pti souci ,
mon erreur est
D:\Documents and Settings\..\serveur\Makefile.win [Build Error] [serveur.exe] Error 1
il arrive pas a compiler , cela est du o linkage encore ,jai trop chercher sur ce type derreur , jai essayé dinclur bcp de trucs dans les
link , mais rien , tjs rien
voila
peace
a plus:::::::::))))
voila ,
je code un serveur windows en C , sous dev cpp ,
voila mon code
#include "stdio.h"
#include "winsock2.h"// pour les fonctions socket
#include <cstdio> // Pour les Sprintf
#pragma comment(lib,"ws2_32.lib")
WSADATA initialisation_win32; // Variable permettant de récupérer la structure d'information sur l'initialisation
int erreur; // Variable permettant de récupérer la valeur de retour des fonctions utilisées
int tempo; // Variable temporaire de type int
int nombre_de_caractere; // Indique le nombre de caractères qui a été reçu ou envoyé
char buffer[65535]; // Tampon contenant les données reçues ou envoyées
SOCKET id_de_la_socket; // Identifiant de la socket
SOCKET id_de_la_nouvelle_socket; // Identifiant de la nouvelle socket
SOCKADDR_IN information_sur_la_source; // Déclaration de la structure des informations lié à l'écoute
int main (int argc, char* argv[])
{
printf("\nBonjour, vous etes du cote serveur.\n");
// ********************************************************
// Initialisation de Winsock
// ********************************************************
erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
if (erreur!=0)
printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nWSAStartup : OK");
id_de_la_socket=socket(AF_INET,SOCK_STREAM,0);
if (id_de_la_socket==INVALID_SOCKET)
printf("\nDesole, je ne peux pas creer la socket du a l'erreur : %d",WSAGetLastError());
else
printf("\nsocket : OK");
tempo=1;
erreur=setsockopt(id_de_la_socket,IPPROTO_TCP,TCP_NODELAY,(char *)&tempo,sizeof(tempo));
if (erreur!=0)
printf("\nDesole, je ne peux pas configurer cette options du à l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nsetsockopt : OK");
information_sur_la_source.sin_family=AF_INET;
information_sur_la_source.sin_addr.s_addr=INADDR_ANY; // Ecoute sur toutes les IP locales
information_sur_la_source.sin_port=htons(33333); // Ecoute sur le port 33333
erreur=bind(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,sizeof(information_sur_la_source));
if (erreur!=0)
printf("\nDesole, je ne peux pas ecouter ce port : %d %d",erreur,WSAGetLastError());
else
printf("\nbind : OK");
erreur=99; // Initiation de erreur pour être sur que l'on va rentrer dans la boucle
while(erreur!=0) // Boucle tant qu'une demande de session (SYN) tcp n'a pas été reçu
erreur=listen(id_de_la_socket,1);
printf("\nlisten : OK");
printf("\nAttente de la reception de demande d'ouverture de session tcp (SYN)");
tempo=sizeof(information_sur_la_source); // Passe par une variable afin d'utiliser un pointeur
id_de_la_nouvelle_socket=accept(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,&tempo);
if(id_de_la_nouvelle_socket==INVALID_SOCKET)
printf("\nDesole, je ne peux pas accepter la session TCP du a l'erreur : %d",WSAGetLastError());
else
printf("\naccept : OK");
nombre_de_caractere=recv(id_de_la_nouvelle_socket,buffer,1515,0);
if (nombre_de_caractere==SOCKET_ERROR)
printf("\nDesole, je n'ai pas recu de donnee");
else
{
buffer[nombre_de_caractere]=0; // Permet de fermer le tableau après le contenu des data, car la fonction recv ne le fait pas
printf("\nVoici les donnees : %s",buffer);
}
erreur=shutdown(id_de_la_nouvelle_socket,2); // 2 signifie socket d'émission et d'écoute
if (erreur!=0)
printf("\nDesole, je ne peux pas fermer la session TCP du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nshutdown : OK");
erreur=closesocket(id_de_la_nouvelle_socket);
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nclosesocket : OK");
erreur=closesocket(id_de_la_socket);
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nclosesocket : OK");
erreur=WSACleanup(); // A appeler autant de fois qu'il a été ouvert.
if (erreur!=0)
printf("\nDesole, je ne peux pas liberer winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
else
printf("\nWSACleanup : OK");
}
------------
jai resoulu des probelemes de linkage avant ,
mais la jai un pti souci ,
mon erreur est
D:\Documents and Settings\..\serveur\Makefile.win [Build Error] [serveur.exe] Error 1
il arrive pas a compiler , cela est du o linkage encore ,jai trop chercher sur ce type derreur , jai essayé dinclur bcp de trucs dans les
link , mais rien , tjs rien
voila
peace
a plus:::::::::))))
A voir également:
- [build Error] [serveur.exe] Error 1
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Fan error lenovo - Forum PC portable
- Dymo error 1 - Forum Matériel & Système
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
4 réponses
j'ai trouvé.
Si tu a changer ton projet de répertoire, tu dois changer le chemin des repertoire de tes librairies aussi.
Moi j'avais mon projet dans c:\dev-c++\projet.dev
donc la lien de librairie est : /lib/libwsock32.a
Mais apré j'ai mis mon projet.dev dans c:\dev-c++\projet\projet.dev
donc le lien de librairie devient : ../lib/libwsock32.a
Voilà , vérifie, pour moi ça a marcher.
Car c'est un putain de connerie derreur sa mere.
Si tu a changer ton projet de répertoire, tu dois changer le chemin des repertoire de tes librairies aussi.
Moi j'avais mon projet dans c:\dev-c++\projet.dev
donc la lien de librairie est : /lib/libwsock32.a
Mais apré j'ai mis mon projet.dev dans c:\dev-c++\projet\projet.dev
donc le lien de librairie devient : ../lib/libwsock32.a
Voilà , vérifie, pour moi ça a marcher.
Car c'est un putain de connerie derreur sa mere.