热情软件屋

 

为什么加入了#include "winsock2.h",仍然不能使用WSADATA等类型


编号:QA003853
建立日期: 2001年2月7日 最后修改日期:2001年2月7日
所属类别:

xfxf:
    操作系统: win98
    编程工具: vc6.0
    问题: 用NEW创建一个WIN32空项目,然后把下面.cpp文件加入:
    #include "winsock2.h"
    #include "windows.h"
    int APIENTRY WinMain(HINSTANCE hInstance,
     HINSTANCE hPrevInstance,
     LPSTR lpCmdLine,
     int nCmdShow)
    {
     WSADATA wsd;
     WSAStartup(MAKEWORD(2,2),&wsd)
     return 0;
    }
    编译将产生58个错误,请问如何配置编译环境?
    水平: 刚入门

回答:

    你的#include "winsock2.h"应该放在#include "windows.h"之后,一般的Windows头文件都需要放在windows.h后面,因为在这些头文件要使用windows.h中定义的一些数据类型。WSAStartup一句后面少一个分号。修改这两处,编译没有问题了,但链接仍然有错误,是LNK2001错误,主要是因为Winsock函数需要链接Ws2_32.lib。你可以在Setting对话框的Library中加上这个库文件。
    
    相关问题:
    QA000267 "Error LNK2001:unresolved external symbol"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio