sighandler_t とビルドエラー

はじめに

 シグナルを使ったプログラムを作成中、以下のようなエラーが出た。簡単に検索できなかったため、忘備録として残す。

main.c:11:39: error: unknown type name 'sighandler_t'

エラーの取り方

 -D_GNU_SOURCE を付けて、コンパイルする。

 $ gcc -o main.o -c -g -Wall -D_GNU_SOURCE main.c

 詳細は、以下のURLにある。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/signal.2.html
問題となる部分は、

sighandler_t の使用は GNU 拡張であり、 _GNU_SOURCE が定義された 場合に公開される。

のところだ。