La fonction socket() utilisée dans mon code renvoie -1. Afinde pour en savoir plus à ce sujet example_socket() est ajouté et ajouter headerfileRéférence non définie à 'explain_setsocket'
#include<libexplain/socket.h>
Lors de la compilation -lexplain est également ajouté. Mais j'ai erreur ci-dessous
undefined reference to `explain_socket »
code:
#include <libexplain/socket.h>
main(){
int sock;
if((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1){
char message[5000];
memset(message,0,5000);
printf("\nSOCKET ERROR\n");
printf("err: socket() failed");
fprintf(stderr, "%s\n", explain_socket(AF_INET, SOCK_DGRAM, 0));
exit(EXIT_FAILURE);
}
}
S'il vous plaît me aider à résoudre ce problème.
[Mise à jour from comment]
commande Compilation:
cc xyz.c -lexplain -o xyz
Que sont 'sopcket.h' et' example_socket'? – melpomene
Pourquoi ne pas simplement 'if ((sock = ...) == -1) {fprintf (stderr," err: socket() a échoué:% s \ n ", strerror (errno)); exit (EXIT_FAILURE); } '? – melpomene
Affiche la commande de compilation actuelle. L'ordre des arguments du compilateur (comme 'gcc') est très important. –