Libnfc-installation
套件安装
这是我觉得最无语的步骤,因为从下载到编译一路出问题,当初还以为是因为自己的Ubuntu版本出问题了,和官方的编译过程相差甚大。而且几乎每个编译都出现了各种各样的错误, 所以在以下的内容的当中,我会结合官方以及自身出现的问题,告诉大家相关的解决办法。 当然,只要你对于Linux下的编译有深刻的了解,请你略过!
POSIX systems
手动安装 首先你一定要确定你有该套件的编译依赖。例如你需要的头是来自:
实际上在官方的说法当中,我们在中文的理解可以为:“首先,你一定要确定你是否有该设备的驱动!以及编译所需要的库以及等等”。就是因为这个等等,害我错误了很多很多次。
所以在这里我会建议大家首先要安装以下几个必须要的程序以及驱动:
- libtool
libtool通常都会出现在autoconf/automake,单独使用的很少,这次libnfc编译有部分错误就是因为libtool导致的。 $ sudo apt-get install libtool
- libudev-dev
编译pcsc-lite所需要的前提条件,已知的Backtrack Live CD无该源。 $ sudo apt-get install libudev-dev
- pcsc-lite
该第三方必须安装,或者编译安装完套件之后会提示无法连接我们所使用的硬件设备。
- libccid
编译libccid的时候,通常的错误就是cofigure: error: install pcsc-lite 1.6.5 or later ,or use ./configure PCSC_CFLAS=... 是因为编译之前没有安装pcsc-lite。官方下载
- libusb
通常libusb在编译的时候会出现的错误是“configure:error:cannot run /bin/bash/.config.sub”这个是因为没有安装libtool导致的。 或者是因为config.sub和config.guess指向的位置不正确导致的。
- Subversion
下载并且解压缩套件
$ wget http://libnfc.googlecode.com/files/libnfc-x.x.x.tar.gz $ tar -xvzf libnfc-x.x.x.tar.gz
配置以及编译
$ cd libnfc-x.x.x $ ./configure $ make
按照官方手动安装的方法,到了这一步应该几乎都完蛋的了,错误绝对会出现的了,可能官方说明文档是给开发者本身看的!对于刚入门的没有任何帮助,所以请看以下步骤。
首先安装需要的所有前提条件,我的操作都是基于Ubuntu,所以如有不同请多多谅解。
$ sudo apt-get install libusb-dev libpcsclite-dev $ sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
然后就是按照上面的配置以及编译的做法,如果你是Ubuntu的系统,请记住sudo别问为什么!你会明白的。 在配置之前,如果你是使用ACR122U/Touchatag的,请在./configure后加入以下命令
$ ./configure --with-drivers=acr122 --enable-serial-autoprobe --enable-serial-autoprobe是用来增加调试功能的
当编译完全无错误提示的情况下,我们可以正式进行make了
$ sudo make $ sudo make install
在官网还有另外一个基于Ubuntu的安装方法,实际上的操作大同小异,只要处理好前提条件,这样子不管用什么方法都是没有问题的!