找不到 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】:如果您使用的是debian
或ubuntu
,那么运行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的主要内容,如果未能解决你的问题,请参考以下文章