应用层alsa_lib和alsa_utils工具移植详解
2016-12-01 22:24
288 查看
应用层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,使用命令如下:
注意:configdir可以任意指定配置文件的路径,但plugindir路径不能更改。成功生成Makefile之后,执行make进行编译,若编译中提示'
atomic_add'之类的重复定义的错误,则将configure和configure.in中
“-D__arm__”
给去掉。编译通过之后,再执行make install进行安装,安装成功后会在$PWD/../install_path下的lib目录看到生成的相关库文件。在开发板上发布alsa库.除了libasound.so相关
库(/lib下的所有库)拷贝到开发板的lib目录外,必须还要把 alsa.conf相关文件(所在路径下的所有文件及文件夹)发布到板上–with-configdir所指向目录下的alsa目录(注意:在所有生成的lib文件的拷贝过程一定要使用cp -P来拷贝,防止拷贝过程中的软连接丢失),否则会报”audio open error: No such file or directory”。该文件可以在make install后
在你安装目录下的share找到alsa目录,把这个目录整个拷贝到开发板的/tmp/local/share目录下(开发板上没有local和share文件夹时手动创建)。
第二步:安装libiconv(libiconv-1.14.tar.gz)。将下载的libiconv进行解压,进入解压后的libiconv目录,执行:
生成Makefile,再执行make进行编译。若编译过程中提示如下错误:
/******make报错:stdio.h:1010:1:error: 'gets' undeclared here (not in a function)
解决:修改srclib/stdio.in.h 第695行
将:_GL_WARN_ON_USE (gets, "gets is a security hole - use fgetsinstead");
改为如下三行:
#if defined(__GLIBC__) &&!defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is asecurity hole - use fgets instead");
#endif
最后执行make install进行安装。安装完成之后会在$PWD/../install_path下生成相应的库文件。
第三步:移植alsa-utils(alsa-utils-1.0.20)。解压出alsa-utils包,进入解压的目录,执行:
来生成Makefile,再执行make进行编译。若编译中提示' atomic_add'之类的重复定义的错误,则将configure和configure.in中
“-D__arm__”
给去掉。编译通过之后,再执行make install。成功之后就会在安装目录的bin目录下看到alsa utils的各个工具,拷贝到开发板的bin目录下就可以测试。
在移植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,使用命令如下:
CC=arm-linux-gcc ./configure--host=arm-linux --prefix=$PWD/../install_path --enable-static --enable-shared--disable-python --with-configdir=/tmp/local/share--with-plugindir=/tmp/local/lib/alsa_lib
注意:configdir可以任意指定配置文件的路径,但plugindir路径不能更改。成功生成Makefile之后,执行make进行编译,若编译中提示'
atomic_add'之类的重复定义的错误,则将configure和configure.in中
“-D__arm__”
给去掉。编译通过之后,再执行make install进行安装,安装成功后会在$PWD/../install_path下的lib目录看到生成的相关库文件。在开发板上发布alsa库.除了libasound.so相关
库(/lib下的所有库)拷贝到开发板的lib目录外,必须还要把 alsa.conf相关文件(所在路径下的所有文件及文件夹)发布到板上–with-configdir所指向目录下的alsa目录(注意:在所有生成的lib文件的拷贝过程一定要使用cp -P来拷贝,防止拷贝过程中的软连接丢失),否则会报”audio open error: No such file or directory”。该文件可以在make install后
在你安装目录下的share找到alsa目录,把这个目录整个拷贝到开发板的/tmp/local/share目录下(开发板上没有local和share文件夹时手动创建)。
第二步:安装libiconv(libiconv-1.14.tar.gz)。将下载的libiconv进行解压,进入解压后的libiconv目录,执行:
CC=arm-linux-gcc ./configure--host=arm-linux --prefix=$PWD/../install_path --enable-static --enable-shared
生成Makefile,再执行make进行编译。若编译过程中提示如下错误:
/******make报错:stdio.h:1010:1:error: 'gets' undeclared here (not in a function)
解决:修改srclib/stdio.in.h 第695行
将:_GL_WARN_ON_USE (gets, "gets is a security hole - use fgetsinstead");
改为如下三行:
#if defined(__GLIBC__) &&!defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is asecurity hole - use fgets instead");
#endif
最后执行make install进行安装。安装完成之后会在$PWD/../install_path下生成相应的库文件。
第三步:移植alsa-utils(alsa-utils-1.0.20)。解压出alsa-utils包,进入解压的目录,执行:
CC=arm-linux-gcc ./configure--host=arm-linux --prefix=$PWD/../install_path --enable-static --enable-shared--with-configdir=/tmp/local/share --with-libiconv-prefix=$PWD/../install_pathCFLAGS="-I$PWD/../install_path/include"LDFLAGS="-L$PWD/../install_path/lib -lasound -liconv"--disable-alsamixer --disable-xmlto
来生成Makefile,再执行make进行编译。若编译中提示' atomic_add'之类的重复定义的错误,则将configure和configure.in中
“-D__arm__”
给去掉。编译通过之后,再执行make install。成功之后就会在安装目录的bin目录下看到alsa utils的各个工具,拷贝到开发板的bin目录下就可以测试。
相关文章推荐
- s3c6410上移植alsa-lib和alsa-utils简要说明
- linux2.26.32.8上的alsa-lib与utils移植
- 基于s3c2440的alsa-lib及alsa-utils成功移植
- alsa-lib及alsa-utils成功移植(原…
- alsa-lib及alsa-utils成功移植(原创)
- alsa-lib、alsa-utils移植
- ALSA-lib/utils 编译移植 及 问题解决
- 移植alsa-lib与alsa-utils
- 基于s3c2440的alsa-lib及alsa-utils成功移植
- alsa-lib和alsa-utils移植
- alsa-lib及alsa-utils成功移植
- alsa-lib及alsa-utils成功移植(原…
- ALSA音频库移植,alsa-utils工具的使用
- alsa-lib&alsa-utils移植到arm的脚本
- 网络开发工具应用客户端下载Dreamweaver8在Windows XP中安装详解与步骤
- Linux下抓包工具tcpdump应用详解
- alsa-lib 移植到ok6410
- linux网络工具应用详解之二
- linux网络工具应用详解之一
- Mybatis3 generator sqlserver 配置详解及应用工具 下载