一、下载libnfc代码
git clone https://github.com/nfc-tools/libnfc.git
autoconfig -vis
./configure
出错:找不到libusb
二、下载libusb的代码
wget https://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.22/libusb-1.0.22.tar.bz2
tar -xvf libusb-1.0.22.tar.bz2
cd libusb-1.0.22.tar.bz2
./configure
错误1:说找不到libudev.h
使用yum provides */libudev.h命令查看哪个包包含这个头文件
最后发现在systemd-devel这个包里面,果断安装
yum install systemd-devel
错误2:找不到-lreadline
安装readline-devel
yum install readline-devel
然后make && make install
libusb安装完毕
三、进入/usr/local/lib/pkgconfig目录
将安装的libusb-1.0文件名改成libusb,这样libnfc的configure就能够找到了
mv libusb-1.0.pc libusb.pc
然后编辑libusb.pc
vim /usr/local/lib/pkgconfig/libusb.pc
将Libs: -L${libdir} -lusb-1.0 改成 Libs: -L${libdir} -lusb
否则libnfc make install的时候会报链接错误。
然后回到libnfc目录
make出错,说找不到usb.h
安装libusb-devel包
yum install libusb-devel
然后make && make install
安装完成
三、进入util目录
执行nfc-list
出现错误
nfc-list: error while loading shared libraries: libnfc.so.5: cannot open shared object file: No such file or directory
执行下列语句,问题解决
echo "/usr/local/lib" >> /etc/ld.so.conf.d/loc_lib.conf
/sbin/ldconfig
再次执行 nfc-list,出现
nfc-list uses libnfc libnfc-1.7.1-207-gb5641f8
证明libnfc安装成功