请教这段程序为何编译错误?
[Linker error] undefined reference to `socket@12 '
[Linker error] undefined reference to `htons@4 '
[Linker error] undefined reference to `gethostbyname@4 '
[Linker error] undefined reference to `connect@12 '
[Linker error] undefined reference to `send@16 '
[Linker error] undefined reference to `recv@16 '
注:编程工具是dev-c++
**************************************************************************
#include <stdio.h>
#include <string>
#include <winsock.h>
#include <winsock2.h>
#define MAXLINE 100000
#define SA struct sockaddr
#define SOCKET int
using namespace std;
main (int argc,char * argv[])
{
SOCKET sockfd;
int n;
char recvline[MAXLINE+1];
struct sockaddr_in servaddr;
struct hostent *hp;
hp=(struct hostent *)malloc(sizeof(struct hostent ));
if (argc!=4)
{
exit(1);
}
if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) <0)
{
exit(1);
}
memset(&servaddr,0,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(8888);
hp=gethostbyname( "www.baidu.com ");
memcpy((char*)&servaddr.sin_addr,(char*)hp-> h_addr,hp-> h_length);
connect(sockfd,(SA*)&servaddr,sizeof(servaddr));
string strkey=(string) "GET /s?wd= "+argv[1]+(string) "&cl=3 HTTP/1.1\n "
"Accept: */*\n "
"Referer: http://www.baidu.com/\n "
"Accept-Language: zh-cn\n "
"Accept-Encoding: gzip, deflate\n "
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\n "
"Host: www.baidu.com\n "
"Connection: Keep-Alive\n ";
const char* keyword=strkey.c_str();
send(sockfd,keyword,1000,0);
recv(sockfd,recvline,MAXLINE,0);
[解决办法]
很显然,libwsock32.a没加入工程。