我在使用Aria库来控制一个机器,下面是编译RobotClient.cpp和RobotControl.cpp时产生错误。1>------ 已启动生成: 项目: RobotControl, 配置: Debug Win32 ------
1>正在编译...
1>RobotClient.cpp
1>d:\program files\activmedia robotics\aria\include\ariautil.h(581) : error C3861: “timeGetTime”: 找不到标识符
1>d:\program files\activmedia robotics\aria\include\arsocket.h(150) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\activmedia robotics\aria\include\arsocket.h(176) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\activmedia robotics\aria\include\arsocket.h(281) : warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\microsoft visual studio 8\vc\platformsdk\include\mmsystem.h(2216) : error C2365: “timeGetTime”: 重定义;以前的定义是“原先未知的标识符”
1>RobotControl.cpp
1>d:\program files\activmedia robotics\aria\include\ariautil.h(581) : error C3861: “timeGetTime”: 找不到标识符
1>d:\program files\activmedia robotics\aria\include\arsocket.h(150) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\activmedia robotics\aria\include\arsocket.h(176) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\activmedia robotics\aria\include\arsocket.h(281) : warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
1>d:\program files\microsoft visual studio 8\vc\platformsdk\include\mmsystem.h(2216) : error C2365: “timeGetTime”: 重定义;以前的定义是“原先未知的标识符”
为了解决第一个错误,我在两个cpp文件中加入#pragma comment(lib, "winmm.lib"),但是错误依旧。至于第二个错误,我查了资料说在声明之前使用函数会导致这种错误,这个就更纳闷了。请教各位高手,多谢了!

解决方案 »

  1.   

    DWORD timeGetTime(VOID);
    返回系统时间,以毫秒为单位。系统时间是从系统启动到调用函数时所经过的毫秒数。注意,这个值是32位的,会在0到2^32之间循环,约49.71天。头文件:#include <Mmsystem.h>            
    引用库:#pragma comment(lib, "Winmm.lib")  详细例子可以参考我博客中的《Windows 各种计时函数总结》
    http://blog.csdn.net/morewindows/article/details/6854764
      

  2.   

    我双击错误,定位到一个头文件ariaautil.h,里面调用了timeGetTime函数,我把代码添加到这里,它就编译过了。多谢了!