为什么加入了#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"
此问题由李海回答。
| |
|
|
| |
|
|