天天看點

【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

繼續閱讀