当我编译我的项目时,我得到了这个错误。

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,但此错误仍然存在。有人知道怎么解决这个问题吗?

最佳答案

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;
}

10-08 07:36