2017-06-07 19 views
-1

私はWindows 10でg ++コマンドラインを使用して基本的なタイミングループを構築しています。コンパイルしようとすると "timeGetTime @ 0 'への参照がありません。g ++のtimeGetTime()への未定義参照

コード自体は、非常に単純です:

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

ない私はWinAPIのとうまくプレイする++グラムを取得するために何をする必要があるか確認してください。私は助けることはできませんが、それがリンカの問題であるかどうか疑問に思います。

+2

https://msdn.microsoft.com/en-us/library/windows/desktop/dd757629(v=vs.85).aspx winmm.libを参照する必要があります – pm100

+0

timeGetTimeは非常に機能が劣りますベンチマークの測定時間。 –

+0

私はベンチマークのためにそれを使用していません。私は、特定のスケジュールに従って起動する必要のある周辺機器の制御機能として使用しています。 私は応答を求めていたポイントを確立する方法として、変数 'ベンチマーク'を呼び出しました。より詳細な手順を渡す前に、これは主に初期のデバッグです –

答えて

-1

libwinmmをリンクする必要があります。

未定義参照は、コンパイラがその関数が存在することを知っていて、そのプロトタイプを知っていても、その遺体を見つけることができないときに発生するエラーです。それがあなたの関数の1つでないとき、それは確かにあなたがライブラリをリンクするのを忘れることを意味します。

関連する問題