首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态确定libudev版本

如何动态确定libudev版本
EN

Stack Overflow用户
提问于 2016-10-03 06:45:21
回答 1查看 1.2K关注 0票数 1

我很难将我的驱动程序移植到不同的linux发行版中,因为它们的libudev版本不同。

许多linux发行版确实有不同的libudev版本,而且libudev以在不更改其“soname”的情况下破坏它们的接口而闻名。

因此,我们已经为udev版本编写了一个包装器,该包装器库确实使用了'pkg-config‘向导的udev版本。但是现在,当我在像Kali Linux这样的不同发行版中运行我的驱动程序时,我知道'pkg-config‘实用程序并不存在于一些linux发行版中,比如"Kali linux“。

现在,我的驱动程序无法运行,因为它依赖于'pkg-config‘实用程序,在'Kali Linux’中找不到它。如果不使用“pkg-config”实用程序,就无法确定libudev版本。即使我强迫我的客户端安装'pkg-config‘实用程序,一些linux系统也没有*.pc文件,所以它也失败了。

对这个问题有什么替代办法吗?可以通过搜索库中声明的函数来猜测libudev版本吗?这是我目前脑子里唯一的方法。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 02:25:30

因为libudev和pkg都存在于实时发行版中。但它的名字已经改了。现在你必须调用。

代码语言:javascript
复制
pkg-config --modversion udev

而不是'pkg-config -modversion libudev‘,这是对最新版本的raspbian,kali和Ubunu发行版,似乎是基于debian的。

更新:我喜欢另一个没有pkg-config的发行版,在这种情况下,有一个叫做udevadm的工具,它可以用来阅读它的libudev版本。

代码语言:javascript
复制
which udevadm
if [ $? -eq 0 ]; then
    UDEV_VERSION=`udevadm --version`
fi
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39825855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档