1、配置交叉编译环境,A33板子linux SDK直接含有,只需要配置一下环境变量即可。
2、把alsa-lib-1.0.23.tar.bz2和alsa-utils-1.0.23.tar.bz2拷贝到含有arm交叉编译环境的虚拟机中,分别解压。创建alsa-lib目录,用于保存编译alsa-lib-1.0.23.tar.bz2生成的库文件。
进入alsa-lib-1.0.23目录下,执行:
./configure --host=arm-linux CC=/home/lldy/A33_SDK/dragonboard/out/sun8iw5p1/dragonboard/common/buildroot/external-toolchain/bin/arm-linux-gnueabi-gcc --prefix=/home/lldy/mplayer/alsa-lib--enable-static --enable-shared --disable-python--with-configdir=/home/lldy/mplayer/alse --with-plugindir=/usr/lib/alsa-lib
注意: CC是arm交叉编译环境下gcc的目录,--prefix指定编译文件生成的目录。
Gcc路径:
执行make
执行make install
3、查看编译后生成的文件。
4、创建一个alsa-lib和alsa_utils的目录用于存放,alsa_utils编译生成的文件。
将alsa-lib生成的库文件拷贝到/usr/local/custom/alsa-lib目录下。
执行以下命令:
./configure --host=arm-linux CC=/home/lldy/A33_SDK/dragonboard/out/sun8iw5p1/dragonboard/common/buildroot/external-toolchain/bin/arm-linux-gnueabi-gcc--disable-alsamixer --disable-xmlto CPPFLAGS=-I/usr/local/custom/alsa-lib/include LDFLAGS=-L/usr/local/custom/alsa-lib/lib --with-alsa-prefix=/usr/local/custom/alsa-lib/lib --with-alsa-inc-prefix=/usr/local/custom/alsa-lib/include --prefix=/usr/local/custom/alsa_utils --enable-static
注意:CC是arm交叉编译环境下gcc的目录,--prefix指定编译文件生成的目录,--with-alsa-prefix是alsa-lib生成的库文件目录,--with-alsa-inc-prefix是alsa-lib生成的头文件的目录,我这里把alsa-lib生成的文件全部拷贝到/usr/local/custom/alsa-lib/下面了,可以根据自己的实际路径修改参数值。
执行make
执行make install
我是静态编译的,只需要吧aplay拷贝到arm板子上执行即可。如果是动态编译的需要把动态库一起拷贝到arm板子上(拷贝时注意动态库路径要与虚拟机路径路径保持一致)。