Linux で POSIX タイマー関数 (例: timer_create、timer_settime) を呼び出すプログラムをコンパイルすると、次のようなエラーが返されます。
関数「foo」では: timer.c:(.text+0xbb): `timer_create' への未定義の参照 timer.c:(.text+0x187): 「timer_settime」への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました
どのライブラリをリンクする必要がありますか?
オプションでコンパイルし-lrt
ます。コンパイルされます。
あなたはそれが私のためにそのように機能することを試すgcc -o mytemer mytimer.c -lrt
ことができますが、この順序ではありません
gcc -lrt mytimer.c -o mytimer
-lrt はリンクを強制しますが、リンクする前にリアルタイム ライブラリを配置する必要があります。ほとんどの場合、自動的に含まれますが、そうでない場合は、apt-get を使用してリアルタイム ライブラリをインストールする必要があります。次に、次の (または同様の) 場所にリンクできます。
/lib/i386-linux-gnu/librt.so.1
コードブロックを使用していて、何らかの理由で -lrt に含まれていない場合は、次のメニュー シーケンスを使用して上記のライブラリ パスとファイル名を追加できます。
Project->Build Options->Linker Settings->Link Libraries->Add
これはマニュアルページに記載されているはずです。add ではないことを考えると-lrt
。
以下を試してください:
gcc -lrt