未定义的g ++中timeGetTime()的引用

时间:2017-06-07 15:33:08

标签: c++ winapi

我在Windows 10下使用g ++命令行来构建一个基本的时序循环,并在尝试编译时收到错误:“对timeGetTime @ 0'的未定义引用。”

代码本身非常简单:

#include <windows.h>
#include <iostream>
using namespace std;

int main(){
   int start = timeGetTime();
   int finish = 10000;
   int benchmarks [9] = {1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000};
   int i = 0;
   int time = timeGetTime() - start;
   while( time < finish){
       if(time > benchmarks[i]){
           cout << benchmarks[i] / 1000 << endl;
           i++;
       }

   return 0;
}

不确定我需要做些什么才能让g ++与WinAPI很好地配合。我不禁想知道链接器是否存在问题。

1 个答案:

答案 0 :(得分:0)

你必须链接libwinmm。

未定义引用是一个错误,当您的编译器知道该函数存在时,它会知道它的原型,但无法找到它的尸体。当它不是您的某个功能时,肯定意味着您错过了链接库。