HandsomeHong 2010-08-13
最近使用Asterisk做服务器,需要兼容sip客户端,所以对Linphone进行编译。
网上有很多SIP phone客户端,但大部分开源的都没有支持视频部分。所以采用了Linphone,不知道大家有没有更好的,可以告诉我。
我对Linux不是很熟悉,只是了解些命令。为了交叉编译,我先完成Linux 下无Video编译。
1. 需要资源:
libosip2-3.2.0.tar.gz(http://ftp.gnu.org/gnu/osip/)
libeXosip2-3.3.0.tar.gz(http://ftp.twaren.net/Unix/NonGNU/exosip)
speex-1.2rc1.tar.gz(http://www.speex.org/downloads/)
linphone-3.2.1.tar.gz(http://www.linphone.org/index.php/eng/download)
要编译的3.2.1版本,在其安装后的readme可见
- you need at least:
- libosip2>=3.0.3
- libeXosip2>=3.0.3
- speex>=1.1.6
-libavcodec (ffmpeg) from a year 2007 or later cvs/svn
2. 目录搭建
在/usr/local/src/下建立目录,把资源文件拷贝过来。解压缩
tar -xzvf *.gz
在/home/下建立自己目录
# mkdir /home/wjy/Mylib
# mkdir /home/wjy/MyInstallProgram
3. 编译libosip
cd /usr/local/src/libosip2-3.2.0
./configure --prefix=/home/wjy/Mylib(注意=后面没有空格)
make & install
4. 编译libeXosip
cd /usr/local/src/libeXosip2-3.3.0
./configure --prefix=/home/wjy/Mylib
make & install
5. 编译speex
cd /usr/local/src/speex-1.2rc1
./configure --prefix=/home/wjy/Mylib
make & install
6. 编译linphone
因为eXosip,speex, osip是装在自己的定义的目录里,会出现找不到eXosip的错误,解决方面,做一个链接到/usr/include,这样就可以了。
ln -s eXosip2_header_file_folder /usr/include
ln -s osip2*_header_file_folder /usr/include
cd /usr/local/src/linphone-3.2.1
./configure --prefix=/home/wjy/MyInstallProgram --disable-video --with-osip=/home/wjy/Mylib
make & install
7. 完成运行
有两种方式
界面方式linphone-3和命令方式linphonec
界面需要账户配置 sip:[email protected]
命令方式,配置文件