【IoT】NFC 之 libnfc 安装与使用

1、准备配置工具

1.1、Libnfc-x-x-x 版本 参见:libnfc

1.2、MinGW64 ( 注意此处一定得用 MingGW-64"TDM64", 官方的文档里已经说明通常的 MingGW 不带 PCSC Header )

1.3、libusb-win32-bin-x.x.x.x

1.4、cmake-2.8.6-win32-x86

工具包下载:工具包

2、安装相关工具并配置系统环境变量

2.1、首先需要安装 MingGW64, Libusb 及 CMake

2.1.1、安装 MingGW64


2.1.2、安装 cmake

下载最新版本地址:下载地址


2.1.3、安装 Libusb

下载地址:

downloads.sourceforge.net/libusb-win32/libusb-win32-filter-bin-0.1.10.1.exe

xp 用户请安装 libusb-win32-filter-bin-0.1.12.1.exe,一路“下一步”就行了。

2.1.4、安装 doxygen


2.2、配置相关环境变量

添加:

“ c:\MinGW64\bin;c:\MinGW64\x86_64-w64-mingw32\lib32;c:\MinGW64\x86_64-w64-mingw
32\include” 到环境变量。


另外需要将 Libusb 安装路径添加进系统变量,方法如上面一样。

然后就可以测试一下,调出 cmd 窗口,然后输入 cmake 会看到一堆的打印。

确保 Libusb 目录下包含 Include 及 Lib 文件,另外 Check 一下 System32 里是否存在 linusb0.dll 及 winsdcard.dll,编译时需要查找。

2.3、硬件接入 PC 后使用 Libusb 手动安装驱动,安装成功后,设备管理器会有相关显示(我的设备使用的是 NXP PN533) 。

3、使用 CMake 构建工程

1.启动 “cmake-gui.exe”,并添加 Source Code 及工程输出路径(路径不能有中文),并进行配置工程为 MingW MakeFile。

此后开始构建工程,其中有可能遇到几个问题:

1)是有关 PCSC 这个便应该是此前所说 MingW 版本的问题了,标准包不包含 PCSC 头文件。

解决方法是设置这两项:

PCRE_INCLUDE_DIRS: C:/MinGW/Include
PCRE_LIBRARIES : C:/Windows/System32/winscard.dll

2)提示没找到 LIBUSB

CMake Error at cmake/modules/FindLIBUSB.cmake:53 (MESSAGE):
Could not find LIBUSB
Call Stack (most recent call first):
cmake/modules/LibnfcDrivers.cmake:14 (FIND_PACKAGE)
libnfc/CMakeLists.txt:18 (INCLUDE)

解决方法是在 CMAKE 里,指定到安装目录

LIBUSB_INCLUDE_DIR: C:\Program Files (x86)\LibUSB-Win32-0.1.10.1\include
LIBUSB_LIBRARIES: C:\Program Files (x86)\LibUSB-Win32-0.1.10.1\lib


还有一个错误:

Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

解决:只要安装了上面的 Doxygen 就 OK 的,它会自动添加到环境变量里,然后点 configure,再点 Generate 就能编译成功。

如果遇到这样的错误:

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

解决方法是安装 PkgConfig

解压 pkg-config_0.26-1_win32.zip 并放到 C 盘根目录,然后在 CMAKE 里指定


网上下载的 pkg-config_0.26-1_win32.zip,可能会因为缺少 libglib-2.0-0.dll 而无法运行,这时,要下载 glib_2.18.4-1_win32.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip

只要里面的 libglib-2.0-0.dll 文件就够了,放到 pkg 的目录下,如下图


4、编译执行

开始菜单,CMD 进入命令行,进到我们上面构建的编译路径文件夹,我们上面演示的是源码放在 E:\libnfc-1.7.0-rc6,编译输出放在 E:\libnfc-build 调用“mingw32-make”命令进行编译,如下图:

OK 了,编译成功,此时进入工程文件夹下 Example 及 Utils 文件夹里已生成可执行文件。

refer:

NFC学习笔记——三(在windows操作系统上安装libnfc)_nfc-mfsetuid.exe_风水月的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

产品人卫朋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值