简单的域名解析程序的问题,编译通过,链接错误
刚开始学套接字,还不是很熟啊,参照着资料写了一个通过输入主机名显示IP的程序
可是编译以后有外部符号无法解析,不知是哪里的问题
//getnameServer.cpp -- main
#include <stdlib.h>
#include <stdio.h>
#include <winsock2.h>
int main(int argc ,char *argv[])
{
struct hostent *hostinfo;
char *host,**addrs;
if(argc==1)
{
char myname[256];
gethostname(myname,255);
host=myname;
}
else
host=argv[1];
hostinfo=gethostbyname(host);
if(!hostinfo)
{
fprintf(stderr, "cannot get the info fot host:%s\n ",host);
exit(1);
}
printf( "results for host %s:\n ",host);
printf( "Name: %s\n ",hostinfo-> h_name);
addrs = hostinfo-> h_addr_list;
printf( " %s ",inet_ntoa(*(struct in_addr *)*addrs));
printf( "\n ");
return 0;
}
Linking...
getname.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
getname.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
getname.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
Debug/getname.exe : fatal error LNK1120: 3 unresolved externals
执行 link.exe 时出错.
[解决办法]
工程的类型可能不对,缺少系统自加的一些编译头文件!
或者自己定义工程,但是没有相对应的编译头文件加入!