我编写了一个设置定时器的函数,里面用到CreateTimerQueueTimer函数,但是编译起来最后一个参数WT_EXECUTEINTIMERTHREAD有错误提示,代码和错误代码如下,在线急等!!!!代码:void set_timer(Timer_Type* tt)
{
HANDLE hTimer; if (!CreateTimerQueueTimer(&hTimer, hTimerQueue, (WAITORTIMERCALLBACKFUNC)TimerRoutine,tt,tt->duration,0,WT_EXECUTEINTIMERTHREAD))
{
printf("CreateTimerQueueTimer failed (%d)\n", GetLastError());
return;
}
tt->hTimer=hTimer;
}错误代码:
d:\mgc\mgc\win_relate.c(303) : error C2065: 'WT_EXECUTEINTIMERTHREAD' : undeclared identifier

解决方案 »

  1.   

    To compile an application that uses this function, define _WIN32_WINNT as 0x0500 or later. For more information
      

  2.   

    #include <winsock2.h>
    #include "winnt.h"
    #include "Global.h"
    #include "win_relate.h"这是我在文件顶端加的引用,可还是不行,1楼说的方法也试过,可也是不行
      

  3.   

    go to definition 到winnt.h里面去看一下又没有相关的定义
      

  4.   

    这个问题倒是解决了,也通过了编译,但是又出现了如下的link错误Win_relate.obj : error LNK2001: unresolved external symbol _CreateTimerQueue
    Win_relate.obj : error LNK2001: unresolved external symbol _DeleteTimerQueue
    Win_relate.obj : error LNK2001: unresolved external symbol _CreateTimerQueueTimer
    Win_relate.obj : error LNK2001: unresolved external symbol _DeleteTimerQueueTimer网上说要kernel32.lib这个我有啊,那应该怎么解决呢?继续在线等~