**************************************** **************************************** **************************************** ***
Author: EasyWave time: 2013.03.23
Category: Linux application LinPhone Declaration: reprinted. Please keep the link
NOTE: If any error occurs, please correct it. These are my Learning Log articles ......
**************************************** **************************************** **************************************** ***
In 《Linux-based open-source VOIP system LinPhone [3]This section briefly introduces the compilation of SPEEX and the required library files. If you need to compile linphone, it is best to compile without UI or video transmission first, in this way, it will be more convenient for later debugging. If you want to modify the linphone code yourself, you need to be familiar with ffmpeg (libav) speex, readline, SDL, x264, osip, eXosip, and many other third-party library functions. If videos are not included, only the speex, readline, osip, eXosip, and ncurses libraries are required. For G722 and G729, you must be familiar with mediastreamer2 before you can perform secondary development based on the specific project. As shown in:
But if your platform has a camera interface, the libv4l in the figure will not be used. After I carefully analyzed mediastreamer2, it is useless because msv4l exists in mediastreamer2. c and msv4l2. c.
1): ncurses Compilation
It is best to create a build. sh file under the ncurses directory so that you can execute the./build. sh file every time. As follows:
#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATH#autoreconf -ivmake distclean./configure --prefix=$INSTALL_PATH \ --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi \--build=i486-linux-gnu \ --with-shared \ if [ $? -eq 0 ]; then make if [ $? -eq 0 ]; then make install exit 0 fifiexit 1
2): readline Compilation
The script file of build. sh is as follows:
#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATH#autoreconf -ivmake distclean./configure --prefix=$INSTALL_PATH \ --host=arm-none-linux-gnueabi \--build=i486-linux-gnu \ --enable-multibyte \ --enable-shared \ --disable-static if [ $? -eq 0 ]; then make if [ $? -eq 0 ]; then make install exit 0 fifiexit 1
3): osip Compilation
The osip build. sh file is as follows:
#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATHmake distclean./configure --prefix=$INSTALL_PATH \ --host=arm-none-linux-gnueabi \--build=i486-linux-gnu \ --disable-option-checking \ --disable-dependency-tracking \ --enable-shared=yes \ --enable-static=no \ --enable-fast-install=no \ --disable-libtool-lock \ --disable-debug \ --enable-trace \ --disable-mpatrol \ --disable-gprof \ --enable-mt \ --enable-pthread \ --enable-semaphore \ --enable-sysv \ --disable-gperf \ --disable-hashtable \ --enable-test \ --disable-minisize \ --with-gnu-ld if [ $? -eq 0 ]; then make if [ $? -eq 0 ]; then make install exit 0 fifiexit 1
4): libeXosip Compilation
#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATHmake distclean./configure --prefix=$INSTALL_PATH \ --host=arm-none-linux-gnueabi \ --build=i486-linux-gnu \ --disable-option-checking \ --disable-dependency-tracking \ --enable-shared=yes \ --enable-static=no \ --enable-fast-install=no \ --disable-libtool-lock \ --disable-tool \ --disable-debug \ --enable-trace \ --disable-mpatrol \ --disable-gprof \ --enable-mt \ --enable-pthread \ --enable-semaphore \ --enable-sysv \ --disable-openssl \ --enable-srvrec \ --disable-minisize \ --with-gnu-ld \ OSIP_LIBS="-lpthread -losip2 -losipparser2 -L$INSTALL_PATH/lib" \ OSIP_CFLAGS="-I$INSTALL_PATH/include"if [ $? -eq 0 ]; then make if [ $? -eq 0 ]; then make install exit 0 fifiexit 1
Finally, compile the linphone code. Run./configure-h to set and compile it. Finally, you need to modify the oss and alsa code based on the specific chip. Otherwise, the playback will fail.