找不到 alsa/asoundlib.h

Posted

技术标签:

【中文标题】找不到 alsa/asoundlib.h【英文标题】:Cannot find alsa/asoundlib.h 【发布时间】:2011-08-17 08:04:18 【问题描述】:

在构建我的 android 源代码时出现此错误

我已经安装了 libasound2-dev。 asoundlib.h 存在于 usr/include/alsa/ 文件夹中 但是构建器仍然无法找到它。

谁能告诉我为什么编译器找不到asoundlib.h? 如何在头文件的搜索路径中添加/usr/include?​​p>

【问题讨论】:

【参考方案1】:

如果您使用的是debianubuntu,那么运行apt-get install libasound2-dev 可以解决问题。它会安装所需的头文件,尽管您可能会遇到某些版本不兼容的问题。 (在这种情况下,解决方案是回到源头找到它。)

此外,不同操作系统版本的软件包名称会有所不同。 一般来说,如果安装了开发库,您应该能够通过运行locate asoundlib.h 命令找到它。

【讨论】:

【参考方案2】:

您是否从 Subversion 存储库获取源代码?

我遇到了同样的问题,因为我从非官方的 Subversion 存储库中检查了源代码。所以我首先安装了libasound2-dev,并将/usr/include/alsa目录复制到了external/qemu/alsa目录,正如你和Peter Ju提出的。但之后又出现了一个错误:

make: *** No rule to make target 'prebuilt/linux-x86/sdl/lib/libSDL.a', needed by 'out/host/linux-x86/obj/STATIC_LIBRARIES/libSDL_intermediates/libSDL.a'.  Stop.

经过一番研究,我发现prebuilt 文件夹中的一些静态库丢失了,因为Subversion ignores some specific file extensions。拿到这些文件后,一切正常……

不知道这是否会对您的情况产生影响,但也许它是您或其他人的“缺失链接”...

【讨论】:

【参考方案3】:

我遇到了问题,然后我找到了解决方案。 在 external/alsa-lib 中,它们包含所有用于 alsa-util 编译的库。然而 alsa-util 编译或其他 alsa 相关程序正在寻找 alsa/*.h 库,因为所有 *.h 都在包含文件夹中。

在 external/alsa-lib/include/ 中创建一个 alsa 文件夹,然后复制所有需要的库应该可以解决问题。

【讨论】:

以上是关于找不到 alsa/asoundlib.h的主要内容,如果未能解决你的问题,请参考以下文章

java 枚举 找不到符号

bat系统找不到指定文件怎么办?

java package找不到符号

SpringBoot报找不到 dao 问题

ubuntu20.04找不到start命令

找不到名为“my”的模块。找不到名为“mycontroller”的控制器