1 问题背景
在使用yocto编译的系统镜像上,通过alsa-lib库进行对音频数据进行编程时,发现没有对应的头文件,而yocto在编译过程中,因为其他模块需要alsa-lib,是编译了alsa-lib,只是最后没有安装到根文件系统。
如下是asla-lib的编译生成文件
如下是alsa-lib最后生成的rpm文件(手动rpm -i libasound-dev-1.1.9-r0.arch64.rpm是可以安装到ARM板上的)
2 尝试方法
方法1
通用的方法,如下所示,在创建镜像时,打包,但结果不起作用
IMAGE_INSTALL += "alsa-lib"
IMAGE_INSTALL_append = "alsa-lib"
方法2
在查找过程中,发现ALSA_INSTALL定义如下,
ALSA_INSTALL = "\
alsa-utils \
alsa-tools \
"
结合在根文件系统中,存在alsa-utils和alsa-tools,故作如下尝试同,结果仍不起作用
ALSA_INTSTALL += " asla-lib"
ALSA_INTSTALL_append = " asla-lib"
方法3
在sources目录,查找带有alsa-lib的关键字,发现大体为分2类,如下所示: