[Armadillo:06811] Re: timer_create関数について
mizo
email@hidden
2011年 2月 15日 (火) 10:30:38 JST
横溝です。
moto wrote:
> 横溝様
>
> timer_create関数ですが、以下のディレクトにて
>
> ~/atmark-dist-20090318/glibc/linuxthreads/sysdeps/pthread
>
> 以下のコマンドにてコンパイル
>
> arm-linux-gcc -Wall -fPIC -shared timer_create.c -o libtimer_create.so
>
> した所以下の様なコンパイルエラーが発生いたしました。
librtをビルドする必要はありますか?もし、librtにカスタマイズを加える必要
が無いのであれば、timer_create()を使用するプログラムをビルドする際に、
-lrt
を付けてlibrtをリンクすると良いと思います。atde2にはlibrtのクロスライブ
ラリが標準でインストールされています。
[atde2]$ ls /usr/arm-linux/lib/librt*
/usr/arm-linux/lib/librt-2.3.6.so /usr/arm-linux/lib/librt.so.1
/usr/arm-linux/lib/librt.a /usr/arm-linux/lib/librt_p.a
/usr/arm-linux/lib/librt.so
例えば、以下のプログラム(sample.c)を用意した場合(何の意味も無いプログラ
ムですみませんが)に、
#include <stdio.h>
#include <time.h>
int main(void)
{
timer_t timer;
int ret;
ret = timer_create(CLOCK_REALTIME, NULL, &timer);
if(ret < -1)
perror("timer_create");
return 0;
}
以下のコマンドでビルドできると思います。
[atde2]$ arm-linux-gcc -Wall sample.c -lrt
以上ご確認ください。
> posix-timer.h:66: error: expected specifier-qualifier-list before ‘pid_t’
> posix-timer.h: In function ‘timer_addref’:
> posix-timer.h:125: error: ‘struct timer_node’ has no member named
> ‘refcount’
> posix-timer.h: In function ‘timer_delref’:
> posix-timer.h:131: error: ‘struct timer_node’ has no member named
> ‘refcount’
> timer_create.c: In function ‘timer_create’:
> timer_create.c:49: warning: implicit declaration of function ‘__set_errno’
> timer_create.c:81: error: ‘struct timer_node’ has no member named
> ‘creator_pid’
>
> posi-timer.h内の定義がみつからない様です。
> これらのエラーを解消するにはどうしたらよいでしょうか?
>
> Moto
>
> ----- Original Message ----- From: "moto" <email@hidden>
> To: "Armadillo series general discussion list"
> <email@hidden>
> Sent: Wednesday, February 09, 2011 11:04 PM
> Subject: [Armadillo:06801] Re:timer_create関数について
>
>
>> 溝渕様
>>
>> timer_create.cですがビルドする場合、作業ディレクトリはどちらになりま
>> すでしょうか?
>>
>> よろしくお願いします。
>>
>> Moto
>>
>> ----- Original Message ----- From: "mizo" <email@hidden>
>> To: "Armadillo series general discussion list"
>> <email@hidden>
>> Sent: Tuesday, February 08, 2011 3:56 PM
>> Subject: [Armadillo:06780] Re: timer_create関数について
>>
>>
>>> 溝渕です。
>>>
>>> email@hidden wrote:
>>>> armadillo-9にてPOSIX準拠のtimer_create関数を利用しようとしましたが、
>>>> コンパイル時に sys/timerfd.h がみつからないというエラーが発生しま
>>>> した。
>>>>
>>>> 現在の開発環境では、timer_create関数はサポートされていないのでしょ
>>>> うか?
>>>> 現在の環境は以下の通りです。
>>>> linux-2.6.12.3-a9-17 atmark-dist-20090318
>>>>
>>>> 何かご存知でしたらご教授お願いします。
>>>
>>> [atde2]$ cd /usr/arm-linux/include/
>>> [atde2]$ grep timer_create
>>> :
>>> ./time.h:extern int timer_create (clockid_t __clock_id,
>>> なので、定義はtime.hにあります。
>>>
>>> [atde2]$ arm-linux-gcc -Wall timer_create.c -lrt
>>> でビルド可能だと思いますが、動作確認は行っていません。
>>>
>>> 以上ご確認ください。
armadillo メーリングリストの案内