编译工具:arm-linux-gcc 4.3.2
目 标 板:SAM9G45
源 码 包:ncurses-5.9 提供字符终端处理库,包括面板和菜单
readline-6.2 读取终端的命令
speex-1.2~rc1.orig 音频编解码器,压缩音频
libosip2-3.5.0 支持SIP通话协议简单的库
libeXosip2-3.5.0 使osip更好用
libogg-1.3.0 音频压缩
linphone-3.5.0 不解释
目前我只想使用语音功能,所以编译时会把GTK还有视频功能去掉,编译时也相对会简单些。编译之前先先创建一个文件夹/linphone,每步配置好了之后就直接"make" "make install"就行了。
1. Cross compiling ncurses for ARM:
./configure --prefix=/linphone --host=arm-linux --with-gnu-ld --with-shared --disable-static
2. Cross compiling readline for ARM:
./configure --prefix=/linphone --host=arm-linux --disable-static
3. Cross compiling libosip for ARM:
./configure --prefix=/linphone --host=arm-linux --with-gnu-ld --disable-static
4. Cross compiling libeXosip for ARM:
./configure --prefix=/linphone --host=arm-linux --with-gnu-ld --disable-static PKG_CONFIG_PATH=/usr/linphone/lib/pkgconfig
5. Cross compiling libogg for speex:
./configure --prefix=/linphone --host=arm-linux --with-gnu-ld --disable-static
6. Cross compiling speex for ARM:
./configure --prefix=/linphone --host=arm-linux --with-gnu-ld --disable-static --enable-fixed-point --disable-float-api --with-ogg=/linphone
7. Cross compiling linphone for ARM
./configure --prefix=/linphone --host=arm-linux --disable-static --disable-glib --with-osip=/linphone --with-readline=/linphone SPEEX_CFLAGS="-I/linphone/include" SPEEX_LIBS="-L/linphone/lib -lspeex " --enable-fixed-point --enable-video=no --enable-gtk_ui=no --enable-alsa PKG_CONFIG_PATH=/linphone/lib/pkgconfig
编译linosip如果提示“not ending with /a_path”应该是上次编译时造成的,源码包直接删掉,换个!重新编译就可以了。
编译linphone时最先碰到的问题可能就是intltool,安装下就行!
测试:
移植alsa驱动的时候会有一个alsa-util这个模块可移植,它可以提供很多实用的功能,比如录音,播放等等。linphone移植好之后先测试下板子声音输出是否正常:aplay /your_wav_file_path
然后测试下声音输入是否正常:arecord -vv -t wav -f S16_LE -c 2 -d 10 ./record.wav
-c channel 声道的意思,2就是选择立体声。
-d 录音时间,以秒为单位。
这样完成了录音,然后再用aplay播放刚刚录好的record.wav看是否能听到声音。