我移植alsa库,主要是想在开发板中进行音频测试,所以移植了alsa-lib、alsa-utils(工具),而移植alsa-utilts又需要编码转换工具libiconv。
我在下面的地址获得所需要的压缩包:
alsa-lib:
- ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.22.tar.bz2
alsa-utils:
- ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.22.tar.bz2
libiconv:
http://download.chinaunix.net/search/?key=&q=libiconv&frmid=22
接着进行移植。
第一步,移植alsa-lib:
1. 解压 tar xvjf alsa-lib-1.0.22.tar.bz2
2. cd alsa-lib-1.0.22生成Makefile3. ./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 4. make5. make install第二步,安装libiconv:
1. ./configure --host=arm-linux --prefix=$PWD/../../output/alsa-libiconv --enable-static --enable-shared
然后将$PWD/../../output/alsa-libiconv /lib中的所有文件拷贝到了alsa-utils压缩包解压后目录下的lib目录下。
例如,我的alsa-utils解压到了/usr/local/arm/,所以,放在/usr/local/arm/alsa-utils-1.0.22/lib中。
注意:是$PWD/../../output/alsa-libiconv /lib中的文件拷贝到指定目录,可不是libiconv解压目录下的lib中的文件,否则,配置alsa-utils时会因找不到iconv而报错:c compiler cannot create executables
2. make
3. make install
第三步,移植alsa-utilts:
解压alsa-utils包后,
1. 解压:tar xvjf alsa-utils-1.0.22.tar.bz2,这一步在安装libiconv时已经进行。
2. cd alsa-utils-1.0.223. ./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我装的是ubuntu9.10,在这一步时,出现了错误:
mv: cannot stat `t-ja.gmo': No such file or directory
解决方法是下载gettext: apt-get install gettext
4. make
5. make install
成功以后,你会在自己的alsa-utils安装路径下的bin目录下见到生成的工具。
上述内容主要来自 http://blog.youkuaiyun.com/lanmanck/article/details/5829143。