我收到了一些编译错误,我找不出来,尽管我确信它们很愚蠢,但我找不到能够通过其他渠道帮助我的答案。编译错误时遇到问题
问题1:(这些是TCP协议的一部分)
error: ‘TH_SYN’ undeclared (first use in this function)
error: ‘TH_ACK’ undeclared (first use in this function)
tcp.tcph_flags = TH_SYN;
tcp.tcph_flags = TH_ACK;
问题2:
error: conversion to non-scalar type requested
const int one = 1;
char buffer[PCKT_LEN];
struct sockaddr_in sin;
struct ipheader ip;
struct tcpheader tcp;
ip = (struct ipheader) buffer; /* ERROR POINTS HERE */
tcp = (struct tcpheader) buffer + ip.iph_ihl *4; /* AND HERE */
问题3:
warning: assignment makes integer from pointer without a cast
case 'i': dip = inet_addr(optarg);
dstip = (optarg); /* ERROR POINTS TO THIS LINE */
break;
现在我希望我已经复制足够的有关错误的相关信息,以便您能够提供帮助,但是如果我遗漏了某些信息,请告诉我。对于问题1,我相信我错过了某种头文件,但我不知道是哪一个。问题2和3是指针问题,但我不确定它们为什么不正确。在此先感谢:)
@Woodrow道格拉斯感谢称其为'。我正在使用Backtrack5,这有可能是头文件不同? –
youjustreadthis
2012-07-27 14:07:00
*optarg
你们两个!但事情是,我已经包含了'@youjustreadthis在'usr/include'中执行'grep -r TH_SYN ./*'。 – cnicutar 2012-07-27 14:15:43
刚刚做了,它给了我这个:'./dumbnet/tcp.h:#define TH_SYN 0x02/*同步序列号*/ ./netinet/tcp.h:# define TH_SYN 0x02 ' 我不假设#和netinet之间的空间是否是问题? – youjustreadthis 2012-07-27 15:49:03