Mon programme C++ ne s'exécute pas !!!
Résolu
jerbiano
Messages postés
38
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis entrain de compilé un programme en Dev C++ pour ajouter une nouvelle session junoscript bref j'ai trouvé ce programme sur internet le problème qu'il existe plein d'erreur dedans et plusieurs bibliothèques non définie.
Ma question et la suivante:
Comment faire pour trouver ces bibliothèques?:
Excite il un lien de téléchargement
-------------------
#include <sys/resource.h>
//#include <sys/types.h>
//#include <sys/socket.h>
//#include <netinet/in.h>
//#include <netdb.h>
//#include <libxml/parser.h>
//#include <libxml/xpath.h>
je suis entrain de compilé un programme en Dev C++ pour ajouter une nouvelle session junoscript bref j'ai trouvé ce programme sur internet le problème qu'il existe plein d'erreur dedans et plusieurs bibliothèques non définie.
Ma question et la suivante:
Comment faire pour trouver ces bibliothèques?:
Excite il un lien de téléchargement
-------------------
#include <sys/resource.h>
//#include <sys/types.h>
//#include <sys/socket.h>
//#include <netinet/in.h>
//#include <netdb.h>
//#include <libxml/parser.h>
//#include <libxml/xpath.h>
A voir également:
- Mon programme C++ ne s'exécute pas !!!
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
2 réponses
D'après les fichiers inclus, je pense que ce doit être des sources pour Linux.
Le problème c'est qu'il y a quelques différences sur les sockets entre win et Linux qui font que même si tu récupérais les .h, ton programme ne tournerai pas.
Le problème c'est qu'il y a quelques différences sur les sockets entre win et Linux qui font que même si tu récupérais les .h, ton programme ne tournerai pas.
Donc a ton avis je doit utiliser Linux pour que sa marche ??
Si tu peux, oui.
Sinon, il y a cygwin sur windows qui te permets de faire un peu comme linux. Je viens de vérifier, chez moi le .h sont présents. En revanche, sous win, il faut démarrer les socket, mais avec cygwin je ne sais pas.
pour libxml, ça doit être une bibliothèque un peu plus éxotique, car je ne l'ai pas. là il faut que tu cherche sur le net.
Sinon, il y a cygwin sur windows qui te permets de faire un peu comme linux. Je viens de vérifier, chez moi le .h sont présents. En revanche, sous win, il faut démarrer les socket, mais avec cygwin je ne sais pas.
pour libxml, ça doit être une bibliothèque un peu plus éxotique, car je ne l'ai pas. là il faut que tu cherche sur le net.
Merci, snipeur pour votre aide ;
Pour le moment je suis entrain d'installé cygwin pour vérifier si sa marche
Voila le programme C que je veux l'exécuter alors stp essaye de le compiler et dis moi si ça marche?
mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include <errno.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
int ipipes[ 2 ], opipes[ 2 ];
pid_t pid;
int rc;
char buf[ BUFSIZ ];
if (pipe(ipipes) <0 || pipe(opipes) <0)
err(1, "pipe failed");
pid = fork( );
if (pid <0)
err(1, "fork failed");
if (pid == 0) {
dup2(opipes[ 0 ], STDIN_FILENO);
dup2(ipipes[ 1 ], STDOUT_FILENO);
dup2(ipipes[ 1 ], STDERR_FILENO);
close(ipipes[ 0 ]); /* close read end of pipe */
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
close(opipes[ 1 ]); /* close write end of pipe */
execlp("ssh", "ssh", "-x", routing-platform , "junoscript", NULL);
err (1, "unable to execute: ssh %s junoscript," router);
}
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
if (write(opipes[ 1 ], initial_handshake, strlen(initial_handshake)) <0 )
err(1, "writing initial handshake failed");
rc=read(ipipes[ 0 ], buf, sizeof(buf));
if (rc <0)
err(1, "read initial handshake failed");
Pour le moment je suis entrain d'installé cygwin pour vérifier si sa marche
Voila le programme C que je veux l'exécuter alors stp essaye de le compiler et dis moi si ça marche?
mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include <errno.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
int ipipes[ 2 ], opipes[ 2 ];
pid_t pid;
int rc;
char buf[ BUFSIZ ];
if (pipe(ipipes) <0 || pipe(opipes) <0)
err(1, "pipe failed");
pid = fork( );
if (pid <0)
err(1, "fork failed");
if (pid == 0) {
dup2(opipes[ 0 ], STDIN_FILENO);
dup2(ipipes[ 1 ], STDOUT_FILENO);
dup2(ipipes[ 1 ], STDERR_FILENO);
close(ipipes[ 0 ]); /* close read end of pipe */
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
close(opipes[ 1 ]); /* close write end of pipe */
execlp("ssh", "ssh", "-x", routing-platform , "junoscript", NULL);
err (1, "unable to execute: ssh %s junoscript," router);
}
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
if (write(opipes[ 1 ], initial_handshake, strlen(initial_handshake)) <0 )
err(1, "writing initial handshake failed");
rc=read(ipipes[ 0 ], buf, sizeof(buf));
if (rc <0)
err(1, "read initial handshake failed");