alsa lib和utils工具包移植总结

在移植alsa的lib和utils工具包时前需要准备三个包(都可以在china unix上下载到):

1、 alsa-lib  (应用程序使用的alsa库)

2、  alsa-utils (测试音频使用的各种工具)

3、  libiconv    (用来编码转换的库)

第一步:移植alsa-lib。解压出音频库的源码,如tar xvjf alsa-lib-1.0.22.tar.bz2,再cd alsa-lib-1.0.22,生成Makefile,使用命令如下:./configure --host=arm-linux --prefix=$PWD/../output/arm-linux --enable-static   --enable-shared  --disable-python  --with-configdir=/usr/local/share  --with-plugindir=/usr/local/lib/alsa_lib

成功生成Makefile之后,执行make进行编译,若编译中提示' atomic_add'之类的重复定义的错误,则将configure和configure.in中“-D__arm__”给去掉。编译通过之后,再执行make install(需要注意,在执行前使用su进行登陆再执行make install,不能使用sudo make install方式,否则安装不会成功)。安装成功后会在$PWD/../../output/arm-linux下的lib目录看到生成的相关库文件。在开发板上发布alsa库.除了libasound.so相关库(/lib下的所有库)拷贝到开发板的lib目录外,必须还要把 alsa.conf相关文件(所在路径下的所有文件及文件夹)发布到板上--with-configdir所指向目录下的alsa目录,否则会报"audio open error: No such file ordirectory"。该文件可以在makeinstall后在你安装目录下的share找到alsa目录,把这个目录整个拷贝到开发板的/usr/local/share目录下(开发板上没有local和share文件夹时手动创建)。

第二步:安装libiconv。将下载的libiconv进行解压,进入解压后的libiconv目录,执行:./configure --host=arm-linux --prefix=$PWD/../output/alsa-libiconv  --enable-static  --enable-shared 生成Makefile,再执行make进行编译,最后执行make install进行安装(使用su 切换至root再执行)。安装完成之后会在$PWD/../output/alsa-libiconv/lib下生成相应的库文件,将lib下所有库文件拷贝到$PWD/../output/ arm-linux/lib目录下(alsa lib生成的库相同的目录下,第三步编译alsa utils会使用这些库)。

第三步:移植alsa-utils。解压出alsa-utils包,进入解压的目录,执行: ./configure --host=arm-linux --prefix=$PWD/../output/arm-linux --enable-static  --enable-shared    --with-configdir=/usr/local/share --with-libiconv-prefix=$PWD/../output/arm-linux CFLAGS="-I$PWD/../output/arm-linux/include" LDFLAGS="-L$PWD/../output/arm-linux/lib -lasound -liconv" --disable-alsamixer --disable-xmlto 来生成Makefile,再执行make进行编译。若编译中提示' atomic_add'之类的重复定义的错误,则将configure和configure.in中“-D__arm__”给去掉。编译通过之后,再执行make install。成功之后就会在安装目录的bin目录下看到alsa utils的各个工具,拷贝到开发板的bin目录下就可以测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值