在构建我的Android源代码时出现此错误
找不到alsa / asoundlib.h
我已经安装了libasound2-dev。 asoundlib.h存在于usr / include / alsa /文件夹中,但构建器仍然无法找到它。
谁能告诉我为什么编译器无法找到asoundlib.h?如何将/ usr / include添加到头文件的搜索路径?
我有问题,然后我找到了解决方案。在external / alsa-lib include中,它们具有alsa-util编译的所有库。但是alsa-util编译或其他alsa相关程序正在寻找alsa / * .h库,其中所有* .h都在include文件夹中。
在external / alsa-lib / include /中创建一个alsa文件夹然后复制所有需要的库应解决问题。
您是否从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。获得这些文件后,一切运作良好......
不知道在你的情况下这是否会成功,但也许这对你或其他人来说是“缺失的环节”......
如果你正在使用debian
或ubuntu
,那么运行apt-get install libasound2-dev
解决了这个问题。它会安装所需的头文件,但您可能会遇到某些版本的不兼容问题。 (在这种情况下,解决方案是返回源代码并找到它。)