Erreur lors de la compilation d'un programmeC

talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
je suis sous ubuntu,et j'essaie de compiler un programme en c++ ====> mais une erreur c'est produit que je ne comprend pas, s'il vous plait aider moi à le resoudre.
voilà le message qui s'affiche:

nouveau-ping.c:35:22: erreur: internal.h : Aucun fichier ou dossier de ce type


7 réponses

dsy73 Messages postés 9252 Date d'inscription   Statut Contributeur Dernière intervention   2 485
 
As-tu fait un include vers le fichier "internal.h" ?
Il semble mal fait ou bien le fichier n'existe pas.
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
oui voilà comment déclarer dans le programme :
#include "internal.h"
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Comment compiles-tu, avec un Makefile, directement depuis le shell?
Chez moi locate '/internal.h' | grep '/usr/' ne donne rien.
J'en conclus que tu utilise une bibliothèque extérieure au système de base.
Pour internal.h
johand@osiris:~$ apt-file search '/internal.h' | grep 'h$'
ecl: /usr/include/ecl/internal.h
libee-dev: /usr/include/libee/internal.h
libggi2-dev: /usr/include/ggi/internal/internal.h
oss4-dkms: /usr/src/oss4-4.2-build2003/core/internal.h


Quel est ton projet ?

Johan
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
bon voilà la résultat:
hamhoum@TALEL-PC:~/Bureau$ apt-file search '/internal.h' | grep 'h$'

ecl: /usr/include/ecl/internal.h
libggi2-dev: /usr/include/ggi/internal/internal.h
libmyth-dev: /usr/include/mythtv/ffmpeg/internal.h

" je fait un programme ping qui test l'état des hôtes: existants ou non sur le réseau"
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
et ton fichier include "internal.h", il se trouve où ?
Est-ce un fichierfait maison ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

oui voilà comment déclarer dans le programme :
#include "internal.h"


Je ne pense pas que ton fichier se trouve dans le répertoire courant.

#include <header> // cherche le fichier dans le répertoire des en-têtes standard
#include "header.h" // cherche le fichier dans le répertoire courant
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
de même #include <header>
#include "header.h"
résultat==>erreur: header : Aucun fichier ou dossier de ce type
erreur: header.h : Aucun fichier ou dossier de ce type
erreur: internal.h : Aucun fichier ou dossier de ce type
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
j'écris mon programme ping dans un fichier "nouveau-ping.c"
dans ce code à la 1er ligne je déclare les bibliothèques:
#include <internal.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/file.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/signal.h>

#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

puis à l'aide de commande shell: gcc nouveau-ping.c -o nouveau-ping ==>pour compiler.

la résultat: nouveau-ping.c:35:22: erreur: internal.h : Aucun fichier ou dossier de ce type.
internal.h =>trés important pour le bon fonctionnement de code.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Si ça ne te déranges et si tu veux bien sûr tu peux coller ici le code pour essayer une compilation chez moi.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
En fait, essaie de copier le fichier dans /usr/include
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Si ça ne te déranges et si tu veux bien sûr tu peux coller ici le code pour essayer une compilation chez moi.
bien sûr que non.
voilà le code:
/* vi: set sw=4 ts=4: */
/*

* $Id: ping.c,v 1.1 2000/08/21 17:38:46 erich-roncarolo Exp $
* Mini ping implementation for busybox
*
* Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This version of ping is adapted from the ping in netkit-base 0.10,
* which is:
*
* Copyright (c) 1989 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Mike Muuss.
*
* Original copyright notice is retained at the end of this file.
*/


#include <internal.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/file.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/signal.h>

#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>



/* It turns out that libc5 doesn't have proper icmp support
* built into it header files, so we have to supplement it */
#if ! defined __GLIBC__ && ! defined __UCLIBC__
typedef unsigned int socklen_t;

#define ICMP_MINLEN 8 /* abs minimum */

struct icmp_ra_addr
{
u_int32_t ira_addr;
u_int32_t ira_preference;
};


struct icmp
{
u_int8_t icmp_type; /* type of message, see below */
u_int8_t icmp_code; /* type sub code */
u_int16_t icmp_cksum; /* ones complement checksum of struct */
union
{
u_char ih_pptr; /* ICMP_PARAMPROB */
struct in_addr ih_gwaddr; /* gateway address */
struct ih_idseq /* echo datagram */
{
u_int16_t icd_id;
u_int16_t icd_seq;
} ih_idseq;
u_int32_t ih_void;

/* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
struct ih_pmtu
{
u_int16_t ipm_void;
u_int16_t ipm_nextmtu;
} ih_pmtu;

struct ih_rtradv
{
u_int8_t irt_num_addrs;
u_int8_t irt_wpa;
u_int16_t irt_lifetime;
} ih_rtradv;
} icmp_hun;
#define icmp_pptr icmp_hun.ih_pptr
#define icmp_gwaddr icmp_hun.ih_gwaddr
#define icmp_id icmp_hun.ih_idseq.icd_id
#define icmp_seq icmp_hun.ih_idseq.icd_seq
#define icmp_void icmp_hun.ih_void
#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void
#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu
#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs
#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa
#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime
union
{
struct
{
u_int32_t its_otime;
u_int32_t its_rtime;
u_int32_t its_ttime;
} id_ts;
struct
{
struct ip idi_ip;
/* options and then 64 bits of data */
} id_ip;
struct icmp_ra_addr id_radv;
u_int32_t id_mask;
u_int8_t id_data[1];
} icmp_dun;
#define icmp_otime icmp_dun.id_ts.its_otime
#define icmp_rtime icmp_dun.id_ts.its_rtime
#define icmp_ttime icmp_dun.id_ts.its_ttime
#define icmp_ip icmp_dun.id_ip.idi_ip
#define icmp_radv icmp_dun.id_radv
#define icmp_mask icmp_dun.id_mask
#define icmp_data icmp_dun.id_data
};
#endif

#define DEFDATALEN 56
#define MAXIPLEN 60
#define MAXICMPLEN 76
#define MAXPACKET 65468
#define MAX_DUP_CHK (8 * 128)
#define MAXWAIT 10
#define PINGINTERVAL 1 /* second */

#define O_QUIET (1 << 0)

#define A(bit) rcvd_tbl[(bit)>>3] /* identify byte in array */
#define B(bit) (1 << ((bit) & 0x07)) /* identify bit in byte */
#define SET(bit) (A(bit) |= B(bit))
#define CLR(bit) (A(bit) &= (~B(bit)))
#define TST(bit) (A(bit) & B(bit))

static void ping(const char *host);

/* common routines */
static int in_cksum(unsigned short *buf, int sz)
{
int nleft = sz;
int sum = 0;
unsigned short *w = buf;
unsigned short ans = 0;

while (nleft > 1) {
sum += *w++;
nleft -= 2;
}

if (nleft == 1) {
*(unsigned char *) (&ans) = *(unsigned char *) w;
sum += ans;
}

sum = (sum >> 16) + (sum & 0xFFFF);
sum += (sum >> 16);
ans = ~sum;
return (ans);
}

/* simple version */
#ifdef BB_FEATURE_SIMPLE_PING
static const char *ping_usage = "ping host\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nSend ICMP ECHO_REQUEST packets to network hosts\n"
#endif
;

static char *hostname = NULL;

static void noresp(int ign)
{
printf("No response from %s\n", hostname);
exit(0);
}

static void ping(const char *host)
{
struct hostent *h;
struct sockaddr_in pingaddr;
struct icmp *pkt;
int pingsock, c;
char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN];

if ((pingsock = socket(AF_INET, SOCK_RAW, 1)) < 0) { /* 1 == ICMP */
perror("ping: creating a raw socket");
exit(1);
}

/* drop root privs if running setuid */
setuid(getuid());

memset(&pingaddr, 0, sizeof(struct sockaddr_in));

pingaddr.sin_family = AF_INET;
if (!(h = gethostbyname(host))) {
fprintf(stderr, "ping: unknown host %s\n", host);
exit(1);
}
memcpy(&pingaddr.sin_addr, h->h_addr, sizeof(pingaddr.sin_addr));
hostname = h->h_name;

pkt = (struct icmp *) packet;
memset(pkt, 0, sizeof(packet));
pkt->icmp_type = ICMP_ECHO;
pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));

c = sendto(pingsock, packet, sizeof(packet), 0,
(struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in));

if (c < 0 || c != sizeof(packet)) {
if (c < 0)
perror("ping: sendto");
fprintf(stderr, "ping: write incomplete\n");
exit(1);
}

signal(SIGALRM, noresp);
alarm(5); /* give the host 5000ms to respond */
/* listen for replies */
while (1) {
struct sockaddr_in from;
size_t fromlen = sizeof(from);

if ((c = recvfrom(pingsock, packet, sizeof(packet), 0,
(struct sockaddr *) &from, &fromlen)) < 0) {
if (errno == EINTR)
continue;
perror("ping: recvfrom");
continue;
}
if (c >= 76) { /* ip + icmp */
struct iphdr *iphdr = (struct iphdr *) packet;

pkt = (struct icmp *) (packet + (iphdr->ihl << 2)); /* skip ip hdr */
if (pkt->icmp_type == ICMP_ECHOREPLY)
break;
}
}
printf("%s is alive!\n", hostname);
return;
}

extern int ping_main(int argc, char **argv)
{
argc--;
argv++;
if (argc < 1)
usage(ping_usage);
ping(*argv);
exit(TRUE);
}

#else /* ! BB_FEATURE_SIMPLE_PING */
/* full(er) version */
static const char *ping_usage = "ping [OPTION]... host\n"
#ifndef BB_FEATURE_TRIVIAL_HELP
"\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n"
"Options:\n"
"\t-c COUNT\tSend only COUNT pings.\n"
"\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n"
"\t-q\t\tQuiet mode, only displays output at start\n"
"\t\t\tand when finished.\n"
#endif
;

static char *hostname = NULL;
static struct sockaddr_in pingaddr;
static int pingsock = -1;
static int datalen = DEFDATALEN;

static long ntransmitted = 0, nreceived = 0, nrepeats = 0, pingcount = 0;
static int myid = 0, options = 0;
static unsigned long tmin = ULONG_MAX, tmax = 0, tsum = 0;
static char rcvd_tbl[MAX_DUP_CHK / 8];

static void sendping(int);
static void pingstats(int);
static void unpack(char *, int, struct sockaddr_in *);

/**************************************************************************/

static void pingstats(int ign)
{
signal(SIGINT, SIG_IGN);

printf("\n--- %s ping statistics ---\n", hostname);
printf("%ld packets transmitted, ", ntransmitted);
printf("%ld packets received, ", nreceived);
if (nrepeats)
printf("%ld duplicates, ", nrepeats);
if (ntransmitted)
printf("%ld%% packet loss\n",
(ntransmitted - nreceived) * 100 / ntransmitted);
if (nreceived)
printf("round-trip min/avg/max = %lu.%lu/%lu.%lu/%lu.%lu ms\n",
tmin / 10, tmin % 10,
(tsum / (nreceived + nrepeats)) / 10,
(tsum / (nreceived + nrepeats)) % 10, tmax / 10, tmax % 10);
exit(0);
}

static void sendping(int ign)
{
struct icmp *pkt;
int i;
char packet[datalen + 8];

pkt = (struct icmp *) packet;

pkt->icmp_type = ICMP_ECHO;
pkt->icmp_code = 0;
pkt->icmp_cksum = 0;
pkt->icmp_seq = ntransmitted++;
pkt->icmp_id = myid;
CLR(pkt->icmp_seq % MAX_DUP_CHK);

gettimeofday((struct timeval *) &packet[8], NULL);
pkt->icmp_cksum = in_cksum((unsigned short *) pkt, sizeof(packet));

i = sendto(pingsock, packet, sizeof(packet), 0,
(struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in));

if (i < 0)
fatalError("ping: sendto: %s\n", strerror(errno));
else if (i != sizeof(packet))
fatalError("ping wrote %d chars; %d expected\n", i,
(int)sizeof(packet));

signal(SIGALRM, sendping);
if (pingcount == 0 || ntransmitted < pingcount) { /* schedule next in 1s */
alarm(PINGINTERVAL);
} else { /* done, wait for the last ping to come back */
/* todo, don't necessarily need to wait so long... */
signal(SIGALRM, pingstats);
alarm(MAXWAIT);
}
}

static char *icmp_type_name (int id)
{
switch (id) {
case ICMP_ECHOREPLY: return "Echo Reply";
case ICMP_DEST_UNREACH: return "Destination Unreachable";
case ICMP_SOURCE_QUENCH: return "Source Quench";
case ICMP_REDIRECT: return "Redirect (change route)";
case ICMP_ECHO: return "Echo Request";
case ICMP_TIME_EXCEEDED: return "Time Exceeded";
case ICMP_PARAMETERPROB: return "Parameter Problem";
case ICMP_TIMESTAMP: return "Timestamp Request";
case ICMP_TIMESTAMPREPLY: return "Timestamp Reply";
case ICMP_INFO_REQUEST: return "Information Request";
case ICMP_INFO_REPLY: return "Information Reply";
case ICMP_ADDRESS: return "Address Mask Request";
case ICMP_ADDRESSREPLY: return "Address Mask Reply";
default: return "unknown ICMP type";
}
}

static void unpack(char *buf, int sz, struct sockaddr_in *from)
{
struct icmp *icmppkt;
struct iphdr *iphdr;
struct timeval tv, *tp;
int hlen, dupflag;
unsigned long triptime;

gettimeofday(&tv, NULL);

/* check IP header */
iphdr = (struct iphdr *) buf;
hlen = iphdr->ihl << 2;
/* discard if too short */
if (sz < (datalen + ICMP_MINLEN))
return;

sz -= hlen;
icmppkt = (struct icmp *) (buf + hlen);

if (icmppkt->icmp_id != myid)
return; /* not our ping */

if (icmppkt->icmp_type == ICMP_ECHOREPLY) {
++nreceived;
tp = (struct timeval *) icmppkt->icmp_data;

if ((tv.tv_usec -= tp->tv_usec) < 0) {
--tv.tv_sec;
tv.tv_usec += 1000000;
}
tv.tv_sec -= tp->tv_sec;

triptime = tv.tv_sec * 10000 + (tv.tv_usec / 100);
tsum += triptime;
if (triptime < tmin)
tmin = triptime;
if (triptime > tmax)
tmax = triptime;

if (TST(icmppkt->icmp_seq % MAX_DUP_CHK)) {
++nrepeats;
--nreceived;
dupflag = 1;
} else {
SET(icmppkt->icmp_seq % MAX_DUP_CHK);
dupflag = 0;
}

if (options & O_QUIET)
return;

printf("%d bytes from %s: icmp_seq=%u", sz,
inet_ntoa(*(struct in_addr *) &from->sin_addr.s_addr),
icmppkt->icmp_seq);
printf(" ttl=%d", iphdr->ttl);
printf(" time=%lu.%lu ms", triptime / 10, triptime % 10);
if (dupflag)
printf(" (DUP!)");
printf("\n");
} else
if (icmppkt->icmp_type != ICMP_ECHO)
fprintf(stderr,
"Warning: Got ICMP %d (%s)\n",
icmppkt->icmp_type, icmp_type_name (icmppkt->icmp_type));
}

static void ping(const char *host)
{
struct protoent *proto;
struct hostent *h;
char buf[MAXHOSTNAMELEN];
char packet[datalen + MAXIPLEN + MAXICMPLEN];
int sockopt;

proto = getprotobyname("icmp");
/* if getprotobyname failed, just silently force
* proto->p_proto to have the correct value for "icmp" */
if ((pingsock = socket(AF_INET, SOCK_RAW,
(proto ? proto->p_proto : 1))) < 0) { /* 1 == ICMP */
if (errno == EPERM) {
fprintf(stderr, "ping: permission denied. (are you root?)\n");
} else {
perror("ping: creating a raw socket");
}
exit(1);
}

/* drop root privs if running setuid */
setuid(getuid());

memset(&pingaddr, 0, sizeof(struct sockaddr_in));

pingaddr.sin_family = AF_INET;
if (!(h = gethostbyname(host))) {
fprintf(stderr, "ping: unknown host %s\n", host);
exit(1);
}

if (h->h_addrtype != AF_INET) {
fprintf(stderr,
"ping: unknown address type; only AF_INET is currently supported.\n");
exit(1);
}

pingaddr.sin_family = AF_INET; /* h->h_addrtype */
memcpy(&pingaddr.sin_addr, h->h_addr, sizeof(pingaddr.sin_addr));
strncpy(buf, h->h_name, sizeof(buf) - 1);
hostname = buf;

/* enable broadcast pings */
sockopt = 1;
setsockopt(pingsock, SOL_SOCKET, SO_BROADCAST, (char *) &sockopt,
sizeof(sockopt));

/* set recv buf for broadcast pings */
sockopt = 48 * 1024;
setsockopt(pingsock, SOL_SOCKET, SO_RCVBUF, (char *) &sockopt,
sizeof(sockopt));

printf("PING %s (%s): %d data bytes\n",
hostname,
inet_ntoa(*(struct in_addr *) &pingaddr.sin_addr.s_addr),
datalen);

signal(SIGINT, pingstats);

/* start the ping's going ... */
sendping(0);

/* listen for replies */
while (1) {
struct sockaddr_in from;
socklen_t fromlen = (socklen_t) sizeof(from);
int c;

if ((c = recvfrom(pingsock, packet, sizeof(packet), 0,
(struct sockaddr *) &from, &fromlen)) < 0) {
if (errno == EINTR)
continue;
perror("ping: recvfrom");
continue;
}
unpack(packet, c, &from);
if (pingcount > 0 && nreceived >= pingcount)
break;
}
pingstats(0);
}

extern int ping_main(int argc, char **argv)
{
char *thisarg;


argc--;
argv++;
options = 0;
/* Parse any options */
while (argc >= 1 && **argv == '-') {
thisarg = *argv;
thisarg++;
switch (*thisarg) {
case 'q':
options |= O_QUIET;
break;
case 'c':
if (--argc <= 0)
usage(ping_usage);
argv++;
pingcount = atoi(*argv);
break;
case 's':
if (--argc <= 0)
usage(ping_usage);
argv++;
datalen = atoi(*argv);
break;
default:
usage(ping_usage);
}
argc--;
argv++;
}
if (argc < 1)
usage(ping_usage);

myid = getpid() & 0xFFFF;
ping(*argv);
return 1;
}
#endif /* ! BB_FEATURE_SIMPLE_PING */

/*
* Copyright (c) 1989 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Mike Muuss.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ''AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Vu que tu utilise le internal.h qui se trouve dans /usr/include/ecl alors mets
#include <ecl/internal.h>


Tu vas avoir en revanche plein d'erreurs, essaye de compiler et tu verras.


Si tu regardes bien il n'y a pas de fonction main dans le fichier.
Je pense qu'il se trouve dans d'un outil qui contient la commande ping. Lequel?
Où tu as téléchargé le fichier?




GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Vu que tu utilise le internal.h qui se trouve dans /usr/include/ecl alors mets

#include <ecl/internal.h>


je le met mais de même ecl/internal.h : Aucun fichier ou dossier de ce type.
je doute qu'il y a une bibliothèque qui me manque, je ne saie pas lequel ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Affiche
ls -l /usr/include/ecl/internal.h 
dpkg --get-selections ecl
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
hamhoum@TALEL-PC:~$ ls -l /usr/include/ecl/internal.h
ls: ne peut accéder /usr/include/ecl/internal.h: Aucun fichier ou dossier de ce type

hamhoum@TALEL-PC:~$ dpkg --get-selections ecl
Aucun paquet ne correspond à ecl.

!!!!!!!!!!!!
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
sudo aptitude install ecl


Mais tu n'as pas répondu à toutes mes questions ;-)
0
talelh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
pour le main il existe dans le code :extern int ping_main(int argc, char **argv){
pour le code je l'ai téléchargé de forum.. j'ai oublié le nom du forum.
0