【问题标题】:which libs are a header file belongs to [duplicate]哪些库是头文件属于[重复]
【发布时间】:2018-06-13 03:09:48
【问题描述】:
OS:Debian9 Linux4.4 
Hardware:ARMv9

我怎么知道/usr/include/中的头文件属于哪个库?

例如, 构建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后,/usr/include中出现了名为drm.hdrm*.h的头文件。

现在,我有Make问题,它显示:

conftest.c:29:41: fatal error: linux/atomisp.h: No such file or directory
#include <linux/atomisp.h> 

我怎样才能找到它属于哪个库?

谢谢。

【问题讨论】:

  • 当您使用 ARM 并且文件名是 atomisp.h 时,我会尝试搜索硬件供应商网站。祝你好运!

标签: linux drm


【解决方案1】:

如果您知道文件的完整路径并安装了它(可能在它工作的计算机上),您可以使用此 dpkg 备忘单找出安装它的软件包:

  • dpkg-query -W &lt;pattern&gt; — 列出与给定模式匹配的本地已知包
  • dpkg-query -l — 列出所有本地已知的包
  • dpkg -i &lt;packagefile&gt; — 在给定文件中安装包
  • dpkg -r &lt;package&gt; — 删除给定的包
  • 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

这将列出您的包管理系统所知道的包,其中包含一个以 this 作为名称的一部分的文件。您可以附加 | grep '/drm.h$' 以仅查找具有该文件的文件。

【讨论】:

    【解决方案2】:

    使用你的发行版的包内容搜索,在这种情况下你可以找到它here

    如果您无法通过该搜索找到文件名,则表示没有提供它的 debian 软件包。

    【讨论】:

    • 非常有帮助,非常感谢。 :)
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2013-05-14
    • 2020-01-04
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多