On 04/27/2012 12:13 PM, Himalay wrote:
I am using CYGWIN gcc compiler on Windows XP Prof. OS. I am getting following
errors. I have defined __USE_BSD in ip_icmp.h.
Anyone please help me in solving errors.
recv_v4.c: In function `recv_v4':
recv_v4.c:38: error: dereferencing pointer to incomplete type
recv_v4.c:38: error: `ICMP_TIMXCEED' undeclared (first use in this function)
recv_v4.c:38: error: (Each undeclared identifier is reported only once
recv_v4.c:38: error: for each function it appears in.)
recv_v4.c:39: error: dereferencing pointer to incomplete type
recv_v4.c:39: error: `ICMP_TIMXCEED_INTRANS' undeclared (first use in this
function)
recv_v4.c:51: error: dereferencing pointer to incomplete type
recv_v4.c:51: error: `ICMP_UNREACH' undeclared (first use in this function)
recv_v4.c:61: error: dereferencing pointer to incomplete type
recv_v4.c:61: error: `ICMP_UNREACH_PORT' undeclared (first use in this function)
recv_v4.c:64: error: dereferencing pointer to incomplete type
recv_v4.c:69: error: dereferencing pointer to incomplete type
recv_v4.c:69: error: dereferencing pointer to incomplete type
Following is the code:
trace.h:
#include<sys/socket.h>
#include<sys/types.h>
#include<sys/errno.h>
#include<sys/time.h>
#include<netinet/in.h>
#include<netdb.h>
#include<netinet/in_systm.h>
#include<netinet/ip.h>
#include<netinet/ip_icmp.h>
#include<netinet/udp.h>
#include<unistd.h>
#include<stdio.h>
I think the above undefined(s) are in a header file which is above
ip_icmp.h (in which you have define __USE_BSD) in the order of inclusion
in the above list of inclusions. Try to give as an -D__USE_BSD option
to gcc.
Regards,
Seenu.
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html