Mac OSXにlibnfcをインストールしてICタグを読み込む


インストール

準備物

Mac Portsgccが入っているものとして話を進めます。
まず、libusbをインストール

$ sudo port install libusb 
$ sudo port install libusb-compat

次にlibnfcのソースコードをダウンロードし、それを解凍
執筆時の最新版はlibnfc-1.6.0-rc1

$ wget http://libnfc.googlecode.com/files/libnfc-1.6.0-rc1.tar.gz
$ tar xvf libnfc-1.6.0-rc1
$ cd libnfc-1.6.0-rc1

最後にビルドとインストール。
configureのパラメータは各自で合わせてください。メモと参考までにパラメータを載せておきます。

$ ./configure LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include -I/opt/local/include/libusb-1.0 -I/Developer/SDKs/MacOSX10.6.sdk/usr/include/pcap"
$ make && make install

もしmakeで失敗したら

私の環境ではmake中にエラーが出て、解決中に調べたことをメモ。
参考資料 Google グループ

make中に下記のエラーがでたら

Undefined symbols:
  "_MIN", referenced from:
      _pn53x_usb_receive in libnfcdrivers.a(libnfcdrivers_la-pn53x_usb.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [libnfc.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

libnfc/nfc-internal.hの27行目くらいにこのコードを追加。

#ifndef MAX 
#define MAX(a,b) (((a) > (b)) ? (a) : (b)) 
#endif 
#ifndef MIN 
#define MIN(a,b) (((a) < (b)) ? (a) : (b)) 
#endif