OS:Debian9 Linux4.4
Hardware:ARMv9
我怎么知道/usr/include/
中哪个libs是头文件属于?
例如,当我构建camera-app-gstreamer
时出错:
camera-app-gstreamer/xcore'
drm_display.h:30:17: fatal error: drm.h: No such file or directory
#include <drm.h>**
我通过apt install libdrm-dev
修复了它,在安装了libdrm-dev
后,头文件名为drm.h
,drm*.h
出现在/usr/include
中。
现在,我有问题,它显示:
conftest.c:29:41: fatal error: linux/atomisp.h: No such file or directory
#include <linux/atomisp.h>
我怎样才能找到它属于哪个lib?
谢谢。
使用您的发行版的包内容搜索,在这种情况下,您可以找到它here。
如果您通过该搜索找不到文件名,则表示没有提供它的debian软件包。
如果你知道文件的完整路径,并且如果它已安装(可能在它运行的计算机上),你可以使用这个dpkg备忘单找出安装它的软件包:
dpkg-query -W <pattern>
- 列出与给定模式匹配的本地已知包dpkg-query -l
- 列出所有本地已知的包裹dpkg -i <packagefile>
- 在给定文件中安装包dpkg -r <package>
- 删除给定的包dpkg -S /path/to/file
- 显示安装给定文件的包如果要查明系统上是否安装了文件,可以使用locate
工具。
如果您想知道将安装哪个软件包,您应该安装apt-file
工具并使用它们:
sudo apt-get install apt-file
sudo apt-file update # will take a while but needs not to be repeated often
apt-file search drm.h
这将列出您的包管理系统知道哪些包含一个文件的包作为名称的一部分。您可以附加| grep '/drm.h$'
以仅查找具有此文件的那些。