clone
编译代码之前,肯定是先clone最新代码
git clone https://github.com/BelledonneCommunications/linphone-iphone --recursive
更新完后发现跟原来的编译方式有了比较大的区别,更新完后编译步骤更清晰,更方便. 可以执行./prepare.py –help 查看帮助
config
开始配置前,请使用./prepare.py -c
清理上一次编译结果
在这一步需要安装很多依赖性的第三方库,按照提示用brew安装即可,最新的10.12系统系统规则有所改动,增加了一些目录保护性,如/usr/bin目录无法进行写,就算管理员用户也不行,很多软件安装会提示:“operation not permitted!”,解决办法为,重启mac,按住 Command + R, 在recovery模式下,打开终端输入:
csrutil disable,重启即可。
架构
目前linphone支持arm64、armv7、i386、x86_64架构,大家可以自行选择,一般只要armv64、armv7就行了,命令如下:
./prepare.py arm64 armv7
特性
可以通过./prepare.py -lf
来查看特性开关,若不想编译哪个模块,设为OFF,如我不需要编译MKV模块,就执行如下命令
./prepare.py -DENABLE_MKV=ON arm64 armv7
build sdk
config后,执行make进行编译
make
若在编译过程中,遇到GNU assembler not found, install/update gas-preprocessor
记得更新gas-preprocessor
wget --no-check-certificate https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/master/gas-preprocessor.pl && chmod +x gas-preprocessor.pl && sudo mv gas-preprocessor.pl /usr/local/bin
PS: 不要去下载https://github.com/yuvi/gas-preprocessor这个,可能是比较旧;更新完后,记得将/usr/local/bin
添加到PATH环境变量中
export PATH=/usr/local/bin:$PATH
build app
编译完后sdk就可以开始编译app了,用xcode打开linphone.xcodeproj,更改证书,直接编译