我收到了一些編譯錯誤,我找不出來,儘管我確信它們很愚蠢,但我找不到能夠通過其他渠道幫助我的答案。編譯錯誤時遇到問題
問題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