alsa库的移植

来源:互联网 发布:企业招标软件 编辑:程序博客网 时间:2024/04/28 14:59

我移植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
       生成Makefile
      3.     ./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.  make
    5.  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.22
    3.   ./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.csdn.net/lanmanck/article/details/5829143。
    原创粉丝点击