2011-02-15 74 views
1

好吧我是使用VS的新手。我试图找出OpenGl程序(C语言)更新之间的时间间隔,并计划使用timeGetTime()。在Visual Studio 2008 Professional中使用timeGetTime()时遇到问题

#include <windows.h> 

在我的程序的顶部。在“项目>属性>链接器>输入”下,我有“附加依赖项”,包括“winmm.lib”。现在,每当我尝试使用timeGetTime(),它给了我两个错误:

Error 63 error LNK2019: unresolved external symbol _timeGetTime referenced in function _main ***.obj 

Error 64 fatal error LNK1120: 1 unresolved externals C:\*** 

如何解决此得到什么?

回答

4

请确保您没有WIN32_LEAN_AND_MEANMMNOTIMER宏定义,或者timeGetTime()的原型将不会包含在mmsystem.h中。

另一种可能性是您在其中一个头文件(或.c源文件)中出现timeGetTime()的其他声明,因为某些原因而不是mmsystem.h中的声明。

符号应该被链接器寻找的是:

[email protected] (or __imp_timeGetTime on x64) 

_timeGetTime 
+0

这是我的另一头文件我VE包括: 的#include 的#include 的#include 的#include 我不知道他们中的任何人是否声明timeGetTime(除了包含mmsystem.h的windows.h)。我不知道如何使用宏,我怎么能检查是否定义了WIN32_LEAN_AND_MEAN? – Jeff 2011-02-15 02:29:28

0

如果您正在尝试执行计时,我建议您使用QueryPerformanceFrequencyQueryPerformanceCounter而不是timeGetTime。这些工作通过在Windows中使用高性能计数器来实现,这将为您提供更好的计时精度。

+0

我会看看这个,感谢您的答复 – Jeff 2011-02-15 12:40:40

相关问题