LINPHONE在嵌入式LINUX下的交叉编译和移植

注:此过程仅适合LINPHONE3.6.1以下的版本,高版本的编译有所不同
QQ交流:63314957
环境变量:
export PREFIX=/usr
export HOSTTPL=arm-linux-gnueabihf
export INSTALLDIR=/home/elinux/linphone/armbuild
 
tslib:
 $ sudo apt-get install libtool automake autoconf
$ ./autogen.sh
$ echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --cache-file=arm-linux.cache
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
 
libiconv:
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
 
 SDL:
 $ ./configure --prefix=$PREFIX --host=$HOSTTPL --build=i386 --with-gnu-ld --disable-video-nanox --disable-video-qtopia --disable-pulseaudio --disable-video-photon   --disable-video-ggi --disable-video-svga --disable-video-aalib --disable-video-dummy --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-video-x11 --disable-nasm --enable-joystick --enable-input-tslib --enable-video-fbcon   CPPFLAGS="-I${INSTALLDIR}/usr/include"    LDFLAGS="-L${INSTALLDIR}/usr/lib -lts -liconv"
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
 
ncurses:
 
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-shared --with-gnu-ld
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
 
readline:
 $ ./configure --prefix=$PREFIX --host=$HOSTTPL --disable-static
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild 
 
libosip2:
 
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild 
 
libogg:
 $ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild  
  
rm $INSTALLDIR$PREFIX/lib/*.la
 
libeXosip2:
 
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static OSIP_CFLAGS="-I${INSTALLDIR}/usr/include" OSIP_LIBS="-L${INSTALLDIR}/usr/lib -losip2 -losipparser2"
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild   
 
speex:
 $ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static --enable-fixed-point --enable-arm-asm --with-ogg="${INSTALLDIR}/usr/"
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild  
 
libav:
 $ ./configure --prefix=$PREFIX --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- --arch=armv7 --target-os=linux  --extra-cflags=-fPIC
$ make
$ make install DESTDIR=$INSTALLDIR
 $ make install DESTDIR='pwd'/armbuild 
 
libvorbis:
 
$ ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --with-ogg="$INSTALLDIR/usr/"
$ make
$ make install DESTDIR=$INSTALLDIR
 $ make install DESTDIR='pwd'/armbuild 
 
zlib:
 $ ./configure --prefix=$PREFIX
修改Makefile
CC= arm-linux-gnueabihf-gcc
LDSHARED= arm-linux-gnueabihf-gcc  -shared -Wl,-soname,libz.so.1,--version- script,zlib.map
CPP= arm-linux-gnueabihf-g++  -E
AR= arm-linux-gnueabihf-ar  rc
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
 
libv4l:
$ vi libv4l1/Makefile
$ vi libv4l2/Makefile
$ vi libv4lconvert/Makefile
在文件起始处增加以下两行:
CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-ar
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
rm $INSTALLDIR$PREFIX/lib/*.la
 
linphone:
$ ./configure --prefix=$PREFIX --host=$HOSTTPL \
--disable-static --disable-glib --enable-gtk_ui=no  --disable-xv --disable-X11  --disable-pulseaudio  --enable-video --enable-ffmpeg  -- enable-sdl --enable-libv4l --enable-oss --enable-ipv6  --with-gnu-ld --with-ffmpeg=$INSTALLDIR/usr/ --with-libiconv-prefix=$INSTALLDIR/usr/  --with-osip=$INSTALLDIR/usr/  -with- readline=$INSTALLDIR/usr/ SPEEX_CFLAGS="-I$INSTALLDIR/usr/include" SPEEX_LIBS="-L$INSTALLDIR/usr/lib -lspeex" FFMPEG_CFLAGS="-I$INSTALLDIR/usr/include" FFMPEG_LIBS="-L$INSTALLDIR/usr/lib -lavcodec" SWSCALE_CFLAGS="-I$INSTALLDIR/usr/include"  SWSCALE_LIBS="-L$INSTALLDIR/usr/lib -lswscale"
SDL_CFLAGS="-I$INSTALLDIR/usr/include"  SDL_LIBS="-L$INSTALLDIR/usr/lib -lSDL" OSIP_CFLAGS="-I$INSTALLDIR/usr/include" OSIP_LIBS="-L$INSTALLDIR/usr/lib -losip2 -losipparser2 -leXosip2"  SPEEX_CFLAGS="-I$INSTALLDIR/usr/include" SPEEX_LIBS="-L$INSTALLDIR/usr/lib -lspeex -lspeexdsp"  
SPEEXDSP_CFLAGS="-I$INSTALLDIR/usr/include" SPEEXDSP_LIBS="-L$INSTALLDIR/usr/lib -lspeex -lspeexdsp" LIBV4L2_CFLAGS="-I$INSTALLDIR/usr/include" LIBV4L2_LIBS="-L$INSTALLDIR/usr/lib -lv4l2" LIBV4L1_CFLAGS="-I$INSTALLDIR/usr/include" LIBV4L1_LIBS="-L$INSTALLDIR/usr/lib -lv4l1"
 
配置完configure后修改Makefile如下:
 mediastreamer2/tests/Makefile:
LIBS =  -pthread -lpthread -lrt -lvorbisenc -lv4l1 -lv4l2 -lv4lconvert -liconv -lvorbis -logg -lz
 
coreapi/Makefile:
LIBS =  -lspeex -lspeexdsp -lSDL -lvorbisenc -lv4l1 -lv4l2 -lv4lconvert -liconv -lvorbis -logg -lz -lavutil
 coreapi/help/Makefile:
LIBS =  -losip2 -losipparser2 -leXosip2 -lspeex -lspeexdsp -lSDL -lvorbisenc -lv4l1 -lv4l2 -lv4lconvert -liconv -lvorbis -logg -lz -lavutil
 
helloworld_LDADD = $(top_builddir)/coreapi/liblinphone.la \
        $(EXOSIP_LIBS) \
        $(MEDIASTREAMER_LIBS) \
        $(ORTP_LIBS)
 
  console/Makefile:
LIBS =  -lSDL -lvorbisenc -lv4l1 -lv4l2 -lv4lconvert -liconv   -lvorbis -logg   -lz -lavutil
  linphonecsh_LDADD = $(ORTP_LIBS) -L${INSTALLDIR}/usr/lib
$ make
$ make install DESTDIR=$INSTALLDIR
$ make install DESTDIR='pwd'/armbuild
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值