linphone-3.9.1 无界面版在openwrt上的移植

1、需要安装java环境

这里就不介绍了


2、下载linphone-3.9.1版

http://download.savannah.gnu.org/releases/linphone/3.9.x/sources/

下载下来的linphone-3.9.1版本里面看有没有oRTP和mediastreamer2两个子目录,如果没有再分别下载ortp-0.25.0.tar.gz、mediastreamer-2.12.0.tar.gz,并放到linphone-3.9.1目录下,名称改为oRTP,mediastreamer2

http://download.savannah.gnu.org/releases/linphone/ortp/sources/ 

http://download.savannah.gnu.org/releases/linphone/mediastreamer/

进入到linphone-3.9.1目录下

./configure --prefix=/mipsbuild --host=mipsel-openwrt-linux-uclibc --disable-static --disable-glib --enable-gnome_ui=no --disable-manual --enable-ipv6 --enable-alsa --enable-gtk_ui=no --enable-video=no --enable-strict=no --enable-artsc=no --enable-libv4l1=no --enable-libv4l2=no --enable-libv4lconvert=no CFLAGS="-I/home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/include -L/home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib" PKG_CONFIG_PATH=/home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/pkgconfig

会提示少了哪些库和头文件,按照提示顺藤摸瓜,缺什么装什么就是了。

make

make install

最后会在/mipsbuild 目录下生成

bin  include lib share

在bin目录下会有linphonec,这就是linphone运行的主要app。

这样就可以把相关的库和linphone运行文件下载到开发板上运行了,如果不想下载那么多的库到开发板上去或者开发板上的rom不足,可以利用nfs来挂载,方法如下

a、首先在ubuntu上搭建好nfs,参考http://blog.chinaunix.net/uid-25885064-id-3177969.html

b、选中openwrt里面的nfs,参考http://blog.csdn.net/walker0411/article/details/51944096

搭建好之后,开发板上输入 mount -t nfs 192.168.8.7:/home /mnt -o nolock 然后进入到/mnt目录下就可以看到ubuntu目录下的文件了,直接运行./linphonec这个文件发现还是找不到相关的库文件,这时候就需要设置环境变量LD_LIBRARY_PATH了。可以设置如下:

export LD_LIBRARY_PATH=/mnt/linphonebuild/lib:/mnt/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib:$LD_LIBRARY_PATH

这样就可以跑linphone程序了。


3、下载相关依赖工具,按照下面的方法步骤执行

./configure --prefix=/xxx --host=mipsel-openwrt-linux-uclibc --其他

make

make install

有些工具库是利用cmake来生成makefile的,可以利用下面的方法来做

cmake -DCMAKE_TOOLCHAIN_FILE=/home/toolchain-mips-opnwrt.cmake 来指定编译工具链,toolchain-mips-opnwrt.cmake的内容如下

SET(CMAKE_SYSTEM_NAME Linux)

SET(CMAKE_C_COMPILER   /home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc)
SET(CMAKE_CXX_COMPILER /home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-g++)

# where is the target environment
SET(CMAKE_FIND_ROOT_PATH  /home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

如果想生成动态库,可以这样做

cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On   //生成动态库 MBEDTLS表示libmbedtls这个库

修改cmake_install.cmake,增加 set(CMAKE_INSTALL_PREFIX "/home/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2") 可以改变库的安装路径。

make

make install

make install  (有时候需要执行两次)

还有些工具库既没有configure,也没有cmake,可以利用下面的方法来做

针对zlib的交叉编译必须要这样做

cd zlib-1.2.3/    

export CC=mipsel-openwrt-linux-uclibc-gcc   //它的configure不支持,用CC变量来指定交叉工具链

./configure --prefix=$PWD/_install  //最后生成的库、头文件和man文件都在当前目录的_install目录下  

make && make install  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值