ラズパイでWiringPiをスタティックリンクしたいとき

最新のRaspbianではWiringPiが同梱されているので、WiringPiをスタティックリンクしたいという要望はあまりないかもしれませんが、自分が作成したアプリにおいてWiringPiのバージョンを固定にしておきたい、といった要望があるときには、知っておくと便利です。方法は、WiringPi/INSTALL at master · WiringPi/WiringPi · GitHubにある通り、スタティックライブラリをビルドする専用のコマンドがあるので、これで作ればよいそうです。

$ cd wiringPi
$ make static
$ sudo make install-static

なお、最新版を使いたい場合は、通常はGitHubからcloneしてダイナミックリンク版を使うわけですが、それをインストールすると、/usr/local/includeや/usr/local/libに必要なファイルがインストールされます。Raspbianに同梱されているものを使わないようにするには、コンパイル時にオプションとして「-I/usr/local/include」と「-L/usr/local/lib」を追加するだけです。実行時は特に指定は必要ありません(/etc/ld.conf.dにあるファイルで、/usr/local/libがライブラリパスに含まれているので、そちらが優先されるようです)。覚えておくと、どこかで役に立つかもしれません。(Reference | Wiring Pi)

$ gcc -o hello hello.c -I/usr/local/include -L/usr/local/lib -lwiringPi
$ ./hello
同じタグの記事: Raspberry Pi
同じタグの記事: ラズパイ
同じカテゴリの記事: Linux