pjsip 交叉编译vs2010怎么编译

pjsip使用最新源码编译 for android
最近要研究一下pjsip,所以从网上查看各种资料,下载源码,我用的ndk版本是r8d,编译步骤如下:
1.首先到官网下载源码,注意的是它有两个系列1.x和2.x,好像是2.x里面添加了视频功能,最主要的是2.1以上支持android编译,所以我选择的是2.x,下载地址:
2.下载源码后,修改pjsip的编译配置pjlib\include\pj\config_site.h,写入以下内容
#define PJ_CONFIG_ANDROID 1
#include &pj/config_site_sample.h&
3.到下载的根目录pjsip2.x下面修改configure-android,在开头添加
ANDROID_NDK_ROOT=/opt/android-ndk-r8d
4.我不清楚配置错误还是源码的bug,可能在苹果上编译可以通过因为在pjmedia/src/pjmedia-audiodev下面有coreaudio_dev.m文件,没有对应的.c文件,所以make的时候,会提示
-o output/pjmedia-audiodev-arm-unknown-linux-androideabi/coreaudio_dev.o \
../src/pjmedia-audiodev/coreaudio_dev.m
arm-linux-androideabi-gcc: error: ../src/pjmedia-audiodev/coreaudio_dev.m: Objective-C compiler not installed on this system
make[2]: *** [output/pjmedia-audiodev-arm-unknown-linux-androideabi/coreaudio_dev.o] Error 1
所以我把pjmedia/src/pjmedia-audiodev/coreaudio_dev.m修改为pjmedia/src/pjmedia-audiodev/coreaudio_dev.c,该一下后缀就可以了
5.到下载的根目录pjsip2.x里面,运行./configure-android
最后会出现
Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h.
Further customizations can be put in:
- 'user.mak'
- 'pjlib/include/pj/config_site.h'
The next step now is to run 'make dep' and 'make'.
6.根据上面的提示我们在终端运行make dep && make
rm output/samples-arm-unknown-linux-androideabi/stateless_proxy.o output/samples-arm-unknown-linux-androideabi/aviplay.o output/samples-arm-unknown-linux-androideabi/strerror.o output/samples-arm-unknown-linux-androideabi/sipecho.o output/samples-arm-unknown-linux-androideabi/resampleplay.o output/samples-arm-unknown-linux-androideabi/sipstateless.o output/samples-arm-unknown-linux-androideabi/simple_pjsua.o output/samples-arm-unknown-linux-androideabi/recfile.o output/samples-arm-unknown-linux-androideabi/icedemo.o output/samples-arm-unknown-linux-androideabi/clidemo.o output/samples-arm-unknown-linux-androideabi/httpdemo.o output/samples-arm-unknown-linux-androideabi/siprtp.o output/samples-arm-unknown-linux-androideabi/stateful_proxy.o output/samples-arm-unknown-linux-androideabi/tonegen.o output/samples-arm-unknown-linux-androideabi/level.o output/samples-arm-unknown-linux-androideabi/pcaputil.o output/samples-arm-unknown-linux-androideabi/pjsip-perf.o output/samples-arm-unknown-linux-androideabi/vid_streamutil.o output/samples-arm-unknown-linux-androideabi/streamutil.o output/samples-arm-unknown-linux-androideabi/auddemo.o output/samples-arm-unknown-linux-androideabi/playsine.o output/samples-arm-unknown-linux-androideabi/aectest.o output/samples-arm-unknown-linux-androideabi/jbsim.o output/samples-arm-unknown-linux-androideabi/stereotest.o output/samples-arm-unknown-linux-androideabi/playfile.o output/samples-arm-unknown-linux-androideabi/latency.o output/samples-arm-unknown-linux-androideabi/simpleua.o output/samples-arm-unknown-linux-androideabi/confsample.o output/samples-arm-unknown-linux-androideabi/mix.o output/samples-arm-unknown-linux-androideabi/encdec.o
make[2]: Leaving directory `/pjsip2.x/pjsip-apps/build'
make[1]: Leaving directory `/pjsip2.x/pjsip-apps/build'
编译成功。
7.然后到pjsip-apps/src/pjsua/android目录下面我们要编译android项目所需要的库,运行ndk-build,结果如下:
root@zhangjie:/pjsip2.x/pjsip-apps/src/pjsua/android# ndk-build
Invoking SWIG...
swig -c++ -o jni/pjsua_wrap.cpp -package org.pjsip.pjsua -outdir src/org/pjsip/pjsua -java jni/pjsua.i
Compile++ thumb
: pjsua &= pjsua_wrap.cpp
Compile++ thumb
: pjsua &= pjsua_app_callback.cpp
StaticLibrary
: libstdc++.a
SharedLibrary
: libpjsua.so
: libpjsua.so =& libs/armeabi/libpjsua.so
如果是编译pjsip的动态库,供java层调用,编译完静态库之后,还需要安装swig编译动态库和接口 需要swig 2.0.5以上的版本。ubuntu 12.04自带的swig是2.0.4,不符合要求,需要自行编译安装swig的新版本
兄弟您这个pjsip协议栈在android环境中,测试过呼叫吗?我现在的情况是注册没有问题,呼入事件通知也没有问题,但是只要是主动外呼或者是接听呼入,程序都会异常退出,好像是音频处理有问题。编译方式跟你的差不多,我用的SDK是android-ndk-r9b错误信息如下:AudioTrack(1059): Could not get audio output for stream type 0libOpenSLES(1059): AudioTrack::initCheck status libOpenSLES(1059): Leaving Object::Realize (SL_RESULT_CONTENT_UNSUPPORTED)libc(1059): Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 1059 (m.example.unime)您有遇到类似的情况吗?
[reply]whiskylife[/reply]不是从main函数入口,首先编译PJSIP协议栈,我用cygwin编译的时候报错误,所以没有办法,后来用minwin编译,这个编译OK。接下来就在安卓工程中,写一个Java类,用来调用Pjsip协议栈中的接口函数,与回调函数。然后用javah.exe,将java类,生成*.h的头文件。然后根据生成的头文件,写*.c文件实现,(*.c文件中就是调用pjsip的库函数,来完成sip电话的控制了,同时,*.c中的文件也负责处理sip呼叫的回调,用来通知 *.java文件,java类,再通知Activity类,做界面的通知了。。。)现在就是无法控制电话,注册和回调消息都没有问题。
jwzhangjie
[reply]luodx1021[/reply]这个我没有仔细研究过,只是一个面试要用这个,所以粗略的了解了一下。
你好,帮个忙,我在执行第7步时出现这样的错误,你出现过吗,好像是开始编译没有生成那个pjsua_app.o文件,不知道你那出现文件夹下有没Invoking SWIG...swig -c++ -o jni/pjsua_wrap.cpp -package org.pjsip.pjsua -outdir src/org/pjsip/pjsua -java jni/pjsua.i[armeabi] Compile++ thumb: pjsua &= pjsua_wrap.cpp[armeabi] Compile++ thumb: pjsua &= pjsua_app_callback.cpp[armeabi] StaticLibrary
: libstdc++.a[armeabi] SharedLibrary
: libpjsua.soarm-linux-androideabi-g++: error: /home/ghw/OpenSource/pjproject/pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/pjsua_app.o: No such file or directoryarm-linux-androideabi-g++: error: /home/ghw/OpenSource/pjproject/pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/pjsua_app_cli.o: No such file or directoryarm-linux-androideabi-g++: error: /home/ghw/OpenSource/pjproject/pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/pjsua_app_common.o: No such file or directorymake: *** [obj/local/armeabi/libpjsua.so] Error 1
补充一下:我用的ndk是r9的,不知道有影响不
你好,帮个忙,我在执行第7步时(用ndk编译pjsip-apps下的android应用时)出现下面的错误,你出现过吗,好像是开始编译没有生成那个pjsua_app.o/pjsua_app_cli.o/pjsua_app_common.o/pjsua_app_config.o/pjsua_app_legacy.o文件,不知道你的/pjsip-apps/build/output/下有pjsua-arm-unknown-linux-androideabi/这个文件夹吗?
jwzhangjie
[reply]ndghw[/reply]我以前做的时候就是按照上面的步骤,没有任何问题
[reply]jwzhangjie[/reply]我昨天搞定了,应该所现在最新源码有问题,我新下了一个以前的版本,成功了,谢谢你
[reply]ndghw[/reply]我也遇到了你说的问题,请问你后来编译成功的源码还有吗,如果还在的话,能给我的邮箱发一份吗,谢谢
[reply]ndghw[/reply]您好,能否发给我一个以前能编译通过的版本的源码吗?我编译的时候报错:../src/pjmedia-audiodev/opensl_dev.c:35:10: fatal error: 'SLES/OpenSLES.h' filenot found
怎么从官网下载的pjsip根本就没有configure-andriod ,然后下载您提供的svn地址,如果直接./configure-android。可以正常编译完成,但是生成的只有*.a静态苦,然后加上./configure-andriod --enable-shared ,编译到一半就会出错。请问configure-andriod是自己写的还是怎么弄的,还有和我遇到同样的问题吗
jwzhangjie
[reply]ym[/reply]2.x以上的才支持,你下的什么版本的
[reply]jwzhangjie[/reply]和你的版本一样,同时也能编译成功,但是如果我--enable-shared ,编译诚动态库,就会报错,您编译国动态库吗
你好,我从svn上更新的最新代码,但是没有pjlib\include\pj\config_site.h这个文件,请问怎么处理呢?
jwzhangjie
[reply]whui0110[/reply]自己建一个就行
[reply]jwzhangjie[/reply]您好,能否发给我一个以前能编译通过的版本的源码吗?我编译的时候报错:../src/pjmedia-audiodev/opensl_dev.c:35:10: fatal error: 'SLES/OpenSLES.h' file
jwzhangjie
[reply]whui0110[/reply]Android.mk里面需要添加opensl的支持
zhangshan415
PJSIP2.0以上版本 在移动终端支持视频通话吗?
jwzhangjie
[reply]zhangshan415[/reply]支持
你好,请问下源码怎么下的呀,我用TortoiseSVN下不动耶?
jwzhangjie
[reply]u[/reply]你要翻墙了
本分类共有文章2篇,更多信息详见
& 2012 - 2014 &
&All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";
/*爱悠闲底部960*75*/
var cpro_id = "u1888128";播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
老五教育之pjsip-vs编译实战.mp4
上 传 者:
内容介绍:
在vs下pjsip如何编译!!!
Channel Me 精选
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}&&&&PJSIP编译出来的android例程
PJSIP编译出来的android例程
用pjsip编译出来的android例程,可以用于研究网络直拨
若举报审核通过,可奖励20下载分
被举报人:
luoshishou
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
移动开发下载排行君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Pjsip2&#46;0&#46;1 arm交叉环境搭建 PJSIP arm 平台交叉编译简要说明
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 pjsip linux 编译 的文章

 

随机推荐