我正面临将我的驱动程序移植到不同的Linux发行版中的困难,因为它们的libudev版本不同。如何动态确定libudev版本
许多linux发行版都有不同的libudev版本,而libudev以不改变它的'soname'而破坏它们的接口而闻名。
因此,我们已经为udev版本编写了一个包装,并且包装库使用'pkg-config'向导使用udev版本。但是现在,当我在不同的发行版中运行我的驱动程序(如Kali Linux)时,我知道'pkg-config'实用程序在某些Linux发行版(例如“Kali linux”)中不存在。
现在我的驱动程序无法运行,因为它依赖于'Kali Linux'中找不到的'pkg-config'工具。如果不使用'pkg-config'工具,我无法确定libudev版本。即使我强迫我的客户端安装'pkg-config'工具,某些linux系统没有* .pc文件,所以它也会失败。
此问题的任何替代方案? 通过尝试搜索该库中声明的函数来猜测libudev版本是否简单?这是我目前唯一的方式。
在此先感谢。
我认为你的前提是错误的。 pkg-config肯定存在于Kali linux中。也许你没有安装它。 – nos
是的,我没有安装,我的意思是我使用的实际版本amd64 –
然后,你应该使用软件包管理器在卡利安装pkg-config工具。 – nos