C++编程中执行 cl.exe 时出错应该如何解决?

lydsdz 2009-07-09 02:09:40
ocket\iocpmodesvr.h(14) : fatal error C1083: Cannot open include file: 'mstcpip.h': No such file or directory
执行 cl.exe 时出错.

郁闷。。。。。


源代码是:

// IocpModeSvr.h: interface for the CIocpModeSvr class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IOCPMODESVR_H__46FFF420_23C3_4356_A88D_AEBDA61EA186__INCLUDED_)
#define AFX_IOCPMODESVR_H__46FFF420_23C3_4356_A88D_AEBDA61EA186__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ClientList.h"
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
#include <mstcpip.h>

//服务端口
#define SVRPORT 80
//缓冲区大小
#define BUFFER_SIZE 1024 * 4
//接收数据
#define RECV_POSTED 0
//发送数据
#define SEND_POSTED 1
//单句柄数据
typedef struct _PER_HANDLE_DATA
{
unsigned long IpAddr;
SOCKET sClient;
}PER_HANDLE_DATA,*LPPER_HANDLE_DATA;
//IO操作数据
typedef struct _PER_IO_OPERATION_DATA
{
//重叠结构
OVERLAPPED OverLapped;
//数据缓冲区
WSABUF DataBuf;
char Buf[BUFFER_SIZE];
//操作类型表示发送、接收或关闭等
bool OperType;
}PER_IO_OPERATION_DATA,*PPER_IO_OPERATION_DATA;

//回调处理数据函数原型
typedef void __stdcall ProcessRecvData(unsigned long sIP,
SOCKET sClient,
char * pData,
unsigned long DataLength,
void *pContext);

DWORD WINAPI ServerWorkerProc(LPVOID lParam);
DWORD WINAPI ListenProc(LPVOID lParam);

//#################完成端口socket###################
class CIocpModeSvr
{
public:
CIocpModeSvr();
virtual ~CIocpModeSvr();
public:
void *m_pContext;
//初始化
bool Init(ProcessRecvData* pProcessRecvData, void *pContext, unsigned long iSvrPort=SVRPORT);
//反初始化
void UnInit();
/* 用于发送消息的函数组*/
public:

bool SendMsg(SOCKET sClient,char * pData,unsigned long Length);
bool SendMsgToAll(char * pData,unsigned long Length);

bool DisConnectClient(SOCKET sClient);
void DisConnectAll();

void RemoveSocket(SOCKET sClient);
public:
//获得本地Ip地址
const char * GetLocalIpAdd(){
if(IsStart)return HostIpAddr;
else return NULL;
}
//获得服务器使用的端口号
unsigned short GetSvrPort(){
if(IsStart)return m_SvrPort;
else return 0;
}

protected:
int InitNetWork(unsigned int SvrPort=SVRPORT,
char *pHostIpAddress=NULL);

ProcessRecvData* m_pProcessRecvData;
private:
//完成句柄
HANDLE CompletionPort;
//主机IP
char HostIpAddr[32];
//客户信息列表
DCLinkedList<PER_HANDLE_DATA> ClientList;
//客户信息临界保护量
CRITICAL_SECTION cInfoSection;
//服务是否已经启动
bool IsStart;
//侦听SOCKET
SOCKET ListenSocket;
//侦听线程句柄,用于反初始化时销毁侦听线程
HANDLE ListenThreadHandle;
//服务端口
unsigned short m_SvrPort;

friend DWORD WINAPI ServerWorkerProc(LPVOID lParam);
friend DWORD WINAPI ListenProc(LPVOID lParam);
};

#endif // !defined(AFX_IOCPMODESVR_H__46FFF420_23C3_4356_A88D_AEBDA61EA186__INCLUDED_)
...全文
3797 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
f22fbi 2009-07-09
  • 打赏
  • 举报
回复
mstcpip.h
这个头文件存在吗?
yuan_nice 2009-07-09
  • 打赏
  • 举报
回复
Cannot open include file: 'mstcpip.h'

不是找不到mstcpip.h这个头文件吗?查查看这个头文件在哪里?
Crazy_hand 2009-07-09
  • 打赏
  • 举报
回复
删除所有的编译信息,重新编译下试试吧


----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧