使用WSAIoctl需要include什么?

watt 2004-07-22 03:55:04
程序中有#include "winsock2.h"。为什么总是提示未定义?
...全文
149 16 点赞 打赏 收藏 举报
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
watt 2004-07-23
D:\Test\GetIP.cpp(203) : error C2065: 'WSAIoctl' : undeclared identifier
  • 打赏
  • 举报
回复
homeyang 2004-07-23
是错误提示
  • 打赏
  • 举报
回复
homeyang 2004-07-23
把错误的代码贴出来看看
  • 打赏
  • 举报
回复
watt 2004-07-23
我加了:#pragma comment(lib,"ws2_32.lib")也不行
  • 打赏
  • 举报
回复
watt 2004-07-23
我把
#include "Winsock2.h"
#pragma comment(lib,"ws2_32.lib")
放入StdAfx.h中就好用子,是什么原因?为什么加入到别处就不好用?
  • 打赏
  • 举报
回复
ydfok 2004-07-23
我没发现什么问题

特意建了一个新的工程测试了一下
完全可以编译link通过的。

你还是看看工程哪里搞错了吧

我就用了
#include <Winsock2.h>
#pragma comment(lib,"ws2_32.lib")

别的都没用。
  • 打赏
  • 举报
回复
gracezhu 2004-07-22
我这边编译是可以的.你主要是ws2_32.lib没有加进去,别的地方没有问题
  • 打赏
  • 举报
回复
watt 2004-07-22
增加#include <mswsock.h>也不行,还是未定义!
  • 打赏
  • 举报
回复
elssann 2004-07-22
#include <mswsock.h>
  • 打赏
  • 举报
回复
watt 2004-07-22
如何加?
  • 打赏
  • 举报
回复
gracezhu 2004-07-22
编译了一下,你只要在project/settings下 include ws2_32.lib就行了
  • 打赏
  • 举报
回复
watt 2004-07-22
DWORD dwBytesReturned = 0;
struct sockaddr_in saTarget;
struct sockaddr_in saSource;
memset(&saSource, 0, sizeof(sockaddr_in));
memset(&saTarget, 0, sizeof(sockaddr_in));

SOCKET hSocket = socket(AF_INET , SOCK_STREAM, 0);

saTarget.sin_family = saSource.sin_family = AF_INET;
saTarget.sin_addr.s_addr = GetIP(m_ip);
WSAIoctl(hSocket, SIO_ROUTING_INTERFACE_QUERY, (LPVOID)&saTarget,
sizeof(sockaddr_in), (LPVOID)&saSource, sizeof(sockaddr_in),
&dwBytesReturned, NULL, NULL);

closesocket(hSocket);

return inet_ntoa(saSource.sin_addr);
  • 打赏
  • 举报
回复
gracezhu 2004-07-22
调用的这行语句写出来
  • 打赏
  • 举报
回复
watt 2004-07-22
不对,还是未定义
  • 打赏
  • 举报
回复
gracezhu 2004-07-22
是不是SIO_RCVALL 参数未定义??
需要包括<mstcpip.h>头文件
  • 打赏
  • 举报
回复
Kudeet 2004-07-22
#pragma comment(lib, "ws2_32")
  • 打赏
  • 举报
回复
相关推荐
发帖
网络编程
加入

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2004-07-22 03:55
社区公告
暂无公告