找不到timeBeginPeriod标识符错误

时间:2013-08-06 21:01:33

标签: c++ windows

当我编译项目时,我收到此错误。

C:\src\libs\nvrtpaudio\FileRtpSource.
cpp(61) : error C3861: 'timeBeginPeriod': identifier not found
C:\src\libs\nvrtpaudio\FileRtpSource.
cpp(71) : error C3861: 'timeEndPeriod': identifier not found
gmake[5]: *** [_out/win7_x86_debug/FileRtpSource.obj] Error 2

我包含了windows.h但是这个错误仍然存​​在。任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

MSDN says

  

标题:Mmsystem.h(包括Windows.h)

所以你应该包含“windows.h”并且没问题,但MSDN没有说的是假设你没有定义WIN32_LEAN_AND_MEAN,这在定义时也是如此,这也是从模板创建的项目案例 - 驱逐你需要的“mmsystem.h”。

因此,您必须确保项目中没有WIN32_LEAN_AND_MEAN或直接包含:

#include "stdafx.h"
#include <mmsystem.h> // <<--- Here we go

#pragma comment(lib, "winmm.lib")

int _tmain(int argc, _TCHAR* argv[])
{
    timeBeginPeriod(0);
    return 0;
}