一:mac环境android编译(ndk记得装好,并配制好环境变量.bash_profile,我用的是ndk9)
1:下载源码:http://www.pjsip.org/download.htm
在/pjproject-2.4.52/pjlib/include/pj目录下新建config_site.h 文件
/* Activate Android specific settings in the 'config_site_sample.h' */ #define PJ_CONFIG_ANDROID 1 #include <pj/config_site_sample.h>
2:下载swig:http://www.swig.org/download.html
3:编译swig: cd到swig根目录;./configure;make;make install(执行完这3个行指令后即完成)。
4:下载并编译pcre:http://www.pcre.org/;编译跟swig一样
5:编译pjsip源码:http://trac.pjsip.org/repos/wiki/Getting-Started/Android(参考资料)。
cd到pjproject目录,export ANDROID_NDK_ROOT=/path_to_android_ndk_dir
./configure-android
make dep && make clean && make
6:生成.so库文件
cd到/pjproject-2.4.5/pjsip-apps/src/swig
make
二:mac环境下ios编译(http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone)
cd到pjproject目录
./configure-iphone
$ make dep && make clean && make
三:android库压缩
参考根目录下的user.mak.sample,文件新建一个user.mak文件,输入以下代码,重新编译即可。
# You can create user.mak file in PJ root directory to specify
# additional flags to compiler and linker. For example:
export CFLAGS += -O3 -DNDEBUG
export LDFLAGS +=
四:部分软交换服务器注册失败,原因是注册流程不一样
修改:/Users/lianwanfei/Documents/applications/android-ndk-r9/samples/pjproject-2.4.5/pjsip/include/pjsua-lib/pjsua.h中修改属性
# define PJSUA_CONTACT_REWRITE_METHOD 1