首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问这段程序为何编译异常

2012-03-23 
请教这段程序为何编译错误?[Linkererror]undefinedreferenceto`socket@12[Linkererror]undefinedreference

请教这段程序为何编译错误?
[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没加入工程。

热点排行