iOS - 工程引入doubango (idoubs编译)
来源:互联网 发布:node path resolve 编辑:程序博客网 时间:2024/03/29 12:32
首先声明一点 本篇不是原创 只是添油加醋 真正的作者是我的同事老师
粘上他的博客文章地址:
陈老师–idoubs编译笔记
准备工作:下载doubango、idoubs源码
mkdir mydoubs
cd mydoubs
git clone https://github.com/DoubangoTelecom/doubango.git doubango
git clone https://github.com/DoubangoTelecom/idoubs.git idoubs
构建demo应用
1.创建一个文件夹MyPropertyManage(自己随便命名) 在MyPropertyManage的文件夹下要有两个平级文件夹
因为在idoubs里面的路径被写好啦(下面会说到),在MyPropertyManage文件夹里拖入doubango框架,
另外一个文件夹命名你开心就好(此处写了idoubs),这个文件夹是用来装你的工程的!
2.从源码idoubs里面将ios-ngn-stack整个文件以及common-ngn-stack这个文件夹拖入自己的工程文件下,
这里面包含着doubango的整个工程,所以这个文件夹很重要
3.在idoubs文件夹下将自己刚刚建好的Demo工程(此处命名ios-idoubs)拖入,与ios-ngn-stack平级,
平级很重要,关乎工程内路径引入的问题!!
现在目录结构大概是这样的
4.打开自己的工程demo 将ios-ngn-stack添加为项目引用
或者:关闭XCode打开的其他项目,只保留当前的demo项目。 将ios-ngn-stack.xcodeproj从finder中拖放到demo项目内。
5.添加链接库
在demo项目的Build Phases中,在Link Binary With Libraries里添加各种需要的内容。
libios_ngn_stack.a
libtinyBFCP.a
libtinySAK.a
libtinyNET.a
libtinySDP.a
libtinyRTP.a
libtinyIPSec.a
libtinyMSRP.a
libtinyHTTP.a
libtinyMEDIA.a
libtinySIGCOMP.a
libtinySMS.a
libtinyXCAP.a
libtinySIP.a
libtinyDAV.a
libtinyWRAP.a
QuartzCore.framework
OpenGLES.framework
Security.framework
CFNetwork.framework
AudioToolbox.framework
AddressBook.framework
CoreGraphics.framework
AVFoundation.framework
CoreMedia.framework
CoreVideo.framework
SystemConfiguration.framework
AddressBook.framework
libsqlite3.tbd
libresolv.tbd
6.配置Build Settings
①User-Defined
DOUBANGO_HOME ../../doubangoDOUBANGO_LIBS $DOUBANGO_HOME/thirdparties/iphone/lib/universalNGN_STACK_HOME $DOUBANGO_HOME/thirdparties/iphone/lib/universalPREBINDING NO
②Linking/Other Linker Flags
-lsrtp -lssl -lcrypto -lyuv -lvpx -lx264 -lopenh264 -lswscale -lavutil -lavcodec -lopus -lgsm -lg729b -lspeex -lspeexdsp -framework Foundation -framework UIKit
③Search Paths/Header Search Paths
$NGN_STACK_HOME/common-ngn-stack $NGN_STACK_HOME/ios-ngn-stack $DOUBANGO_HOME/bindings/_common $DOUBANGO_HOME/tinySMS/include $DOUBANGO_HOME/tinyHTTP/include $DOUBANGO_HOME/tinySIP/include $DOUBANGO/HOME/tinyMSRP/include $DOUBANGO_HOME/tinyMEDIA/include $DOUBANGO_HOME/tinyNET/src $DOUBANGO_HOME/tinySAK/src $DOUBANGO_HOME/tinyDAV/include $DOUBANGO_HOME/thirdparties/common/include$DOUBANGO_HOME/tinySDP/include ../common-ngn-stack ../ios-ngn-stack
④Search Paths/Library Search Paths
$(inherited) $DOUBANGO_LIBS
⑤Apple LLVM 7.1 - Custom Compiler Flags / Other C Flags
-DNS_BLOCK_ASSERTIONS=1
⑥Build Settings / Apple LLVM 7.1 - Language 下的Compile Sources As为Objective-C++
⑦ 将Enable Bitcode 设置为NO
⑧加入头文件
在ViewController.h中,加入头文件
import “iOSNgnStack.h”
此外注意点:
当你们创建的控制器只要用到ios-ngn-stack里面的东西的话,控制器的后缀一定要改成.mm好吗 让它们混编好吗 宝宝们
因为如果你不这么做的话 编译会变成这样的错误:
最后,谢谢我的同事陈老师!
补充:
有网上的朋友配置的时候出现这样的问题:
问题1:
解决:
这个问题出现在没按配置把doubango放在最外层 详细看第一步骤
问题2:
解决:
这个问题就是没有配置Linking/Other Linker Flags 详细翻到上面寻找。
- iOS - 工程引入doubango (idoubs编译)
- 最新iOS - 工程引入doubango (idoubs编译笔记)
- iOS - idoubs(网络电话)的基本使用
- 如何添加doubango工程
- idoubs
- idoubs
- idoubs
- doubango tinyDEMO 编译
- doubango编译总结
- 搭建minisipserver服务器实现局域网内IOS客户端idoubs的通信(可打电话 发短信)
- 搭建minisipserve服务器实现局域网内IOS客户端idoubs的通信(可打电话 发短信)
- iOS - idoubs 通话判断对方状态(在线、拒接、无人接听、挂断)
- iOS - 自主实现类似微信语音视频信息聊天 (idoubs详细使用方法)1.0
- 引入工程javax包编译报错
- 编译开源软件doubango
- doubango的android版本编译
- Doubango For IMSDroid 编译---阿冬
- iOS 引入库工程遇到的问题
- 单击AutoCompleteTextView后自动提示,无需输入字符,提示信息通过SQLite查询获得
- 多尔衮是清初开国头号美男
- java.lang.IllegalStateException: Fragment already active,Fragment.setArguments()问题
- SystemBarTintManager.java
- A004-数据对齐的原因
- iOS - 工程引入doubango (idoubs编译)
- 线性插值和双线性插值
- IOS 自定义返回按钮 滑动返回假死解决方法
- mac gradle遇到问题
- Android OkHttp(一)初识
- POJ 5690 All X
- json循环依赖导致生成json失败
- Struts2-校验器优先校验配置
- app.config文件的读写