天天看点

【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

【IoT】NFC 之 libnfc 安装与使用
【IoT】NFC 之 libnfc 安装与使用

2.1.2、安装 cmake

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

【IoT】NFC 之 libnfc 安装与使用

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

【IoT】NFC 之 libnfc 安装与使用

2.2、配置相关环境变量

添加:

“ c:\MinGW64\bin;c:\MinGW64\x86_64-w64-mingw32\lib32;c:\MinGW64\x86_64-w64-mingw

32\include” 到环境变量。

【IoT】NFC 之 libnfc 安装与使用

另外需要将 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。

【IoT】NFC 之 libnfc 安装与使用

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

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

【IoT】NFC 之 libnfc 安装与使用

解决方法是设置这两项:

PCRE_INCLUDE_DIRS: C:/MinGW/Include

PCRE_LIBRARIES : C:/Windows/System32/winscard.dll

【IoT】NFC 之 libnfc 安装与使用

2)提示没找到 LIBUSB

【IoT】NFC 之 libnfc 安装与使用

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

【IoT】NFC 之 libnfc 安装与使用

还有一个错误:

Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

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

【IoT】NFC 之 libnfc 安装与使用
【IoT】NFC 之 libnfc 安装与使用

如果遇到这样的错误:

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

解决方法是安装 PkgConfig

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

【IoT】NFC 之 libnfc 安装与使用

网上下载的 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 的目录下,如下图

【IoT】NFC 之 libnfc 安装与使用

4、编译执行

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

【IoT】NFC 之 libnfc 安装与使用

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

refer:

https://blog.csdn.net/fengshuiyue/article/details/37921717

继续阅读