编译android版本pjsip
2013-11-08 10:24
281 查看
http://yeyingxian.blog.163.com/blog/static/3447124201362583022597/
编译android版本pjsip
2013-07-25 20:30:22| 分类: android |字号 订阅
测试的pjsip版本为r4567,ndk版本为r8e,系统为ubuntu 12.04 x64。本来想在cygwin下面搞的,但是cygwin下面死活编不过去,因为cygwin下面运行配置脚本出来的路径都不带盘符,而ndk中的gcc是windows原生程序,不认cygwin的路径规则。只能改到linux下面编译。而且虚拟机中的linux也比cygwin运行速度快多了。
1、修改pjsip的编译配置pjlib\include\pj\config_site.h,写入以下内容
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>
2、如果要编译pjsip的静态库和测试执行程序,进入pjsip的根目录,设置ndk路径,编译
$ export ANDROID_NDK_ROOT=/home/android-ndk-r8e/
$ ./configure-android
$ make dep && make clean && make
PS:如果出现这样的错误,
-bash: ./configure-android: /bin/sh^M: bad interpreter: No such file or directory
是因为代码是从tortoise svn checkout时,变成了windows下面的\r\n回车。要改回unix的回车格式
dos2unix configure-android
如果出现错误
configure-android error: unable to find directory /home/android-ndk-r8e//toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86 in Android NDK
是因为我安装的ndk是64位的版本。要修改configure-android
-- Linux) BUILD_MACHINE="linux-x86";;
++ Linux) BUILD_MACHINE="linux-x86_64";;
3、如果是编译pjsip的动态库,供java层调用,编译完静态库之后,还需要安装swig编译动态库和接口
需要swig 2.0.5以上的版本。ubuntu 12.04自带的swig是2.0.4,不符合要求,需要自行编译安装swig的新版本
$ aptitude install libpcre3-dev
$ tar xzf swig-2.0.10.tar.gz
$ cd swig-2.0.10/
$ ./configure
$ make
$ make install
开始编译pjsip
$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/pjsua/android
$ ndk-build
PS:如果出现编译错误 invalid conversion from 'void**' to 'JNIEnv** {aka _JNIEnv**}' ,则是swig的版本低了
参考
http://trac.pjsip.org/repos/wiki/Getting-Started/Android
编译android版本pjsip
2013-07-25 20:30:22| 分类: android |字号 订阅
测试的pjsip版本为r4567,ndk版本为r8e,系统为ubuntu 12.04 x64。本来想在cygwin下面搞的,但是cygwin下面死活编不过去,因为cygwin下面运行配置脚本出来的路径都不带盘符,而ndk中的gcc是windows原生程序,不认cygwin的路径规则。只能改到linux下面编译。而且虚拟机中的linux也比cygwin运行速度快多了。
1、修改pjsip的编译配置pjlib\include\pj\config_site.h,写入以下内容
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>
2、如果要编译pjsip的静态库和测试执行程序,进入pjsip的根目录,设置ndk路径,编译
$ export ANDROID_NDK_ROOT=/home/android-ndk-r8e/
$ ./configure-android
$ make dep && make clean && make
PS:如果出现这样的错误,
-bash: ./configure-android: /bin/sh^M: bad interpreter: No such file or directory
是因为代码是从tortoise svn checkout时,变成了windows下面的\r\n回车。要改回unix的回车格式
dos2unix configure-android
如果出现错误
configure-android error: unable to find directory /home/android-ndk-r8e//toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86 in Android NDK
是因为我安装的ndk是64位的版本。要修改configure-android
-- Linux) BUILD_MACHINE="linux-x86";;
++ Linux) BUILD_MACHINE="linux-x86_64";;
3、如果是编译pjsip的动态库,供java层调用,编译完静态库之后,还需要安装swig编译动态库和接口
需要swig 2.0.5以上的版本。ubuntu 12.04自带的swig是2.0.4,不符合要求,需要自行编译安装swig的新版本
$ aptitude install libpcre3-dev
$ tar xzf swig-2.0.10.tar.gz
$ cd swig-2.0.10/
$ ./configure
$ make
$ make install
开始编译pjsip
$ cd /path/to/your/pjsip/dir
$ cd pjsip-apps/src/pjsua/android
$ ndk-build
PS:如果出现编译错误 invalid conversion from 'void**' to 'JNIEnv** {aka _JNIEnv**}' ,则是swig的版本低了
参考
http://trac.pjsip.org/repos/wiki/Getting-Started/Android
相关文章推荐
- PJSIP2.7 Android版本编译及构建pjsua2和pjsua
- Ubuntu11下编译pjsip_android[注:此方法只适合版本低于1108的pjsip]
- 编译android版本pjsip
- mac下搭建cocos2d-x2.2.1版本android编译环境教程
- 快速下载和编译Dragonboard410c官网最新Android版本
- jdk/java版本与Android源码编译中的错误
- android 编译问题,java 版本不对
- JDK版本更换后编译android系统出错
- android 编译问题,java 版本不对
- 使用Tortoise SVN版本控制Eclipse工作区的Android项目时,bin编译错误
- android中导入低版本project可能会遇到的编译问题
- Android 编译使用高版本的Java
- android user版本进行编译出现proguard错误混淆
- android中导入低版本project可能会遇到的编译问题
- 【游戏开发备注之一】解决Cocos2dx_v1.x版本图片白块,编译Android闪退等问题 推荐
- 编译开源LibreOffice的Android版本——开源Office文档查看器
- ios与android语音通用方案 编译libopencore-amr xcode4.5/ios6版本
- ubuntu kylin 14.04 64位下进行Android 4.4.2 R2版本的源码编译
- 使用eclipse编译android版本的libcurl
- android 源码环境下编译adb emulator windows版本