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即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/330582.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

muduo网络库剖析——监听者EpollPoller类

muduo网络库剖析——监听者EpollPoller类 前情从muduo到my_muduo 概要epoll原理解析epoll提供的接口epoll的触发模式epoll实现多路复用 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库,考虑的肯定是众多情况是否…

Jenkins-Pipeline

Pipeline 1 安装插件 2 新建一个 Pipline 工程 3 配置Pipeline 脚本 agent的使用可以参考这个文档 pipeline {agent anystages {stage(Build) { steps {echo Building project...}}stage(Test) { steps {echo Testing project...}}stage(Deploy) { steps {echo Deploying …

STL之vector容器的介绍与模拟实现

STL之vector容器的介绍与模拟实现 1. vector简介2. vector容器使用2.1vectord 定义2.2 vector iterator 的使用2.3 vector 空间增长问题2.4 注意事项 3. vector功能模拟实现3.1 架构搭建3.2 空间控制板块3.3 迭代器3.4 增加/删除数据3.5 运算符重载3.6构造/析构 4. 整体代码 所…

vscode mysql cmake windows 常见问题和推荐文章

1.在windows中安装mingw64和cmake(可查一下网上的安装教程),配置环境变量 2.在vscode中用CMake构建项目的时候,可能会出现这样的问题:“The C compiler identification is unknownn...”,可参考这篇博客 在windows下使用Vscode用…

Java基础面试题(四)

Java基础面试题(四) 文章目录 Java基础面试题(四)Oracle JDK vs OpenJDKJava 和 C 的区别? 文章来自Java Guide 用于学习如有侵权,立即删除 Oracle JDK vs OpenJDK 可能在看这个问题之前很多人和我一样并没有接触和使…

基于springboot+vue的图书个性化推荐系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

1. 安装Git

01. 安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git,第一…

【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]

阅读导航 引言一、std::auto_ptr1. 简介2. 使用示例3. C模拟实现 二、std::unique_ptr1. 简介2. 使用示例3. C模拟实现 温馨提示 引言 在 C 中,智能指针是一种非常重要的概念,它能够帮助我们自动管理动态分配的内存,避免出现内存泄漏等问题。…

靶机-Billu_b0x root 123456

查找靶机IP nmap查看开放端口22,80 目录扫描 查看网站,典型注入 phpmy 果然是登陆界面,不过不知道账户及密码 in.php php的配置信息,可以看看 add.php 上传文件目录,可以上传,不过没有回显 …

C# ObjectArx 绘制表格并设置单元格合并

第一行默认是标题,可设置行【RowType】进行设置类型 Document doc Application.DocumentManager.MdiActiveDocument;using (Transaction tr doc.TransactionManager.StartOpenCloseTransaction()){BlockTable bt tr.GetObject(doc.Database.BlockTableId, OpenMo…

UE4 添加按键输入事件 并在蓝图中使用按键输入节点

绑定按键 选择Edit/ProjectSettings/Engine/Input 在bindings中可以选择添加ActionMappings或则AxisMappings ActionMappings:按键事件,有按下和抬起两个事件,需要分别用两个键触发AxisMappings:输入事件,返回值为float,对于键盘…

Rust之构建命令行程序(三):重构改进模块化和错误处理

开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 重构改进模块化和错误处理 为了改进我们的程序,我们将修复与程序结构及其处理潜在错误的方式有关的四个问题。首先,我们的main函数现在执行两项任务:解析参数和…

一文了解Servlet

文章目录 1、什么是Servlet2、Servlet快速入门3、Servlet生命周期4、Servlet体系结构5、urlPatern配置6、XML编写Servlet 1、什么是Servlet Servlet是Java提供的一门动态web资源开发技术Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Serv…

Apache JMeter 5.6.3压力测试步骤详解

Apache JMeter 5.6.3压力测试步骤详解 压力测试简介软件测试概述性能测试性能测试指标性能指标推算web资源公式 1. 安装 Jmeter2. 创建测试任务2.1 创建线程组2.2 创建 HTTP 请求2.3 添加HTTP消息头管理器 3.添加查看结果监听器4. 执行测试5. 查看结果6. 非GUI模式测试7. 使用c…

CSS||Emmet语法

1、简介 ​ Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度, Vscode内部已经集成该语法。 ​ 快速生成HTML结构语法 ​ 快速生成CSS样式语法 2、快速生成HTML结构语法 生成标签 直接输入标签名 按tab键即可 比如 div 然后tab 键&#xff0c; 就可以生成 <…

CSS 设置背景图片

文章目录 设置背景颜色设置背景图片背景图片偏移量计算原点背景图片尺寸设置背景图片位置设置背景图片重复方式设置背景范围设置背景图片是否跟随元素移动测试背景图片 本文概念部分参考&#xff1a;CSS背景background设置 设置背景颜色 background-color 设置背景颜色 设置…

UE5 独立程序的网络TCP/UDP服务器与客户端基础流程

引擎源码版&#xff0c;复制\Engine\Source\Programs\路径下的BlankProgram空项目示例。 重命名BlankProgram&#xff0c;例如CustomTcpProgram&#xff0c;并修改项目名称。 修改.Build.cs内容 修改Target.cs内容 修改Private文件夹内.h.cpp文件名并修改.cpp内容 刷新引擎 …

联想模拟器抓包

联想模拟器抓包 下载抓包工具配置代理并启动模拟器配置代理返回reqable查看抓包数据 下载抓包工具 reqable 配置代理并启动 模拟器配置代理 返回reqable查看抓包数据

定义公共样式css

index.less 文件 // 全局按钮颜色 btn_background: #005298; btn_border-color: #6fa18d;// 默认的 btn_border-color-highlight: #0598d3;// 高亮边框 btn_border-color-success: #36be7e;// 成功边框 btn_font_color: #fff;// 边框颜色 背景色 文字颜色 .btn_public(btn_bo…

外贸网站建设有哪些技巧?如何做海洋建站?

搭建外贸网站需要什么流程步骤&#xff1f;独立网站建站怎么做&#xff1f; 外贸网站的建设变得至关重要。一家成功的外贸企业需要一个强大而专业的在线存在&#xff0c;以便吸引国际客户。在这篇文章中&#xff0c;海洋建站将探讨一些关键的技巧&#xff0c;帮助您打造出色的…