首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libudev的静态版本在哪里?

libudev的静态版本在哪里?
EN

Ask Ubuntu用户
提问于 2021-11-23 18:46:38
回答 1查看 980关注 0票数 2

因为我希望我的二进制文件在旧版本上运行。,我决定构建一个静态链接的二进制文件。

我的应用程序依赖于libhid-hidraw,并且通过它,依赖于libudev

我安装了开发包:

代码语言:javascript
复制
sudo apt install libudev-dev libhidapi-dev

当我尝试链接时,我会得到以下错误:

代码语言:javascript
复制
cc -g -Wall -Wextra -static daemon/turboledzd.c -o daemon/turboledzd -lhidapi-hidraw -ludev
/usr/bin/ld: cannot find -ludev
collect2: error: ld returned 1 exit status

在我的系统中,有一个libhidapi-hidraw.a文件存在:

代码语言:javascript
复制
$ dpkg -S hidraw.a
libhidapi-dev:amd64: /usr/lib/x86_64-linux-gnu/libhidapi-hidraw.a

但udev没有这样的静态库:

代码语言:javascript
复制
$ dpkg -S libudev.
libudev1:i386: /usr/lib/i386-linux-gnu/libudev.so.1
libudev-dev:amd64: /usr/lib/x86_64-linux-gnu/pkgconfig/libudev.pc
python3-pyudev: /usr/lib/python3/dist-packages/pyudev/_ctypeslib/libudev.py
libudev1:amd64: /usr/lib/x86_64-linux-gnu/libudev.so.1.7.1
libudev-dev:amd64: /usr/lib/x86_64-linux-gnu/libudev.so
libudev1:amd64: /usr/lib/x86_64-linux-gnu/libudev.so.1
libudev-dev:amd64: /usr/include/libudev.h
libudev1:i386: /usr/lib/i386-linux-gnu/libudev.so.1.7.1
libudev-dev:amd64: /usr/share/man/man3/libudev.3.gz

哪个Ubuntu包将包含libudev.a库?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-02-22 18:21:36

它在上游和Debian也没有。

这里有一个相关的Debian中的bug报告#915566,由于产生的大量静态文件和用户没有需求,它们最终无法实现解决方案。

它是systemd的一部分,您可以使用以下标志:-Dstatic-libsystemd=true -Dstatic-libudev=true编译它。请参阅参考错误报告。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1377216

复制
相关文章

相似问题

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