linux-nfc neard 编译、安装与运行

2024-01-18 15:44

本文主要是介绍linux-nfc neard 编译、安装与运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目github地址:

https://github.com/linux-nfc/neard

git clone地址:

https://github.com/linux-nfc/neard.git

1.安装依赖库

clone完源码切换到目录neard里。这个项目需要依赖一下库:

    - GCC compiler

    - D-Bus library

    - GLib library

    - Netlink (libnl) library, version 1 or 2.

可以使用项目自带脚本安装或者单独安装。

1.1脚本安装

项目安装必要库的脚本在目录ci下,比如ubuntu系统可以使用ubuntu.sh

1.2单独安装

单独安装方式如下:

sudo apt-get install libdbus-1-dev libglib2.0-dev libnl-3-dev libnl-genl-3-dev

安装完成后使用dpkg查看库的版本,比如查看glib的版本:

dpkg -l|grep glib

其他自动编译的工具如果之前没安装过也需要安装:

apt-get install autoconf autoconf-archive automake libtool pkg-config make

2.生成编译脚本并编译和安装

目前这个项目里面的configure和Makefile都要重新生成的。生成方式如下:

1.运行

aclocal

目的是为了生成aclocal.m4这个文件。

2.运行

autoheader
autoconf

不运行autoheader可能报错:

configure.ac:7: error: required file 'config.h.in' not found 

3.运行

libtoolize --automake --copy --debug --force
automake --add-missing

不运行libtoolize的话,直接运行automake可能会报错。

4.运行

./configure --prefix=/usr

如果报错找不到glib:

首先确定安装成功了,但是有时候安装成功pkg-config还是会找不到,这可能是因为系统里面有多个pkgconfig文件夹,pkg寻找库的时候是根据这个文件夹下的.pc文件查找的,正常需要把所有pkgconfig文件夹的路径添加到PKG_CONFIG_PATH这个环境变量里,这样pkg才会使用所有pkgconfig文件夹下的.pc文件,但是安装glib的时候把glib的.pc文件放在了一个新建的pkgconfig文件夹而没把它添加进pkg查找路径,这时候需要在目录/usr下查找glib-2.0.pc这个文件,一般是在一个名字叫pkgconfig的文件夹下,终端执行:

export  PKG_CONFIG_PATH="/usr/local/lib/pkgconfig":$PKG_CONFIG_PATH

注意PKG_CONFIG_PATH后面跟的路径是上面找到的路径

如果报错找不到Netlink library,则根据上文安装。

当./configure运行不再出错时,可以进行make了,然后使用make install安装。

make
sudo make install

安装到系统里。

这里介绍主要的几个文件:

neard

生成的可执行程序,默认安装到/usr/libexec/nfc/

org.neard.conf

neard使用dbus的conf文件,如果dbus守护进程找不到这个文件,neard在申请使用dbus的时候会拒绝导致报错。默认安装到/usr/etc/dbus-1/system.d/

neard.service

neard的服务文件,默认安装到/lib/systemd/system

neard相关头文件

默认安装到/usr/include/near,使用neard守护进程写应用的时候需要包含这些头文件

3.运行

正常neard是作为系统守护进程一直在后台运行的,所以neard的启动是通过service启动的,当然也可以命令行启动。注意,neard默认安装在/usr/libexec/nfc/目录下的,如果这个目录没有加进PATH里面,命令行是找不到neard这个命令的。

使用以下指令使能nead这个服务:

sudo systemctl enable neard.service

再使用以下指令启动neard守护进程:

sudo systemctl start neard.service

如果报错比如:

使用以下指令查看错误原因:

sudo systemctl status neard.service

笔者这里的错误原因如下:

这主要是因为dbus的配置里面没有关于neard的配置,其实还是文件没放对地方。dbus的配置文件一般都在/etc/dbus-1/system.d/目录下,里面有很多.conf文件,里面如果没有neard相关的conf文件就会报错。默认neard的conf文件会安装到 /usr/etc/dbus-1/system.d/下面,只需要把它copy到刚才的文件夹下就可以了。然后再次启动service即可。

这篇关于linux-nfc neard 编译、安装与运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619487

相关文章

linux生产者,消费者问题

pthread_cond_wait() :用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。 pthread_cond_wait() 必须与pthread_mutex 配套使用。pthread_cond_wait()函数一进入wait状态就会自动release mutex。当其他线程通过pthread

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6