zoukankan      html  css  js  c++  java
  • iOS

     编译WebRTC.a静态库

    编译的方式,我看了几个帖子,什么方法都有,这里我根据我的需求,说说我的做法。我的主要目的是因为网上找不到.a模式的webrtc的静态库,都是framework,所以我才自己编译的。我的需求很简单,就是需要.a出来。ios版本的webrtc是有自己的编译脚本文件的,我们在这里面做些修改就可以,脚本文件的路径是:webrtc_build/webrtc/src/tools_webrtc/ios/build_ios_libs.sh

    正常情况,如果你不做任何更改,直接执行这个脚本,会编译出WebRTC.framework,默认路径会在:webrtc_build/webrtc/src/out_ios_libs  由于我没有编译framework,所以没有图,但是我猜测的话,应该会有真机的32位和64位的还有模拟器的,因为我编译的.a就是这几个。

    所以如果你需要去掉不要的版本,还有你需要编译的.a,在这几个地方更改下就可以,记得更改是在webrtc_build/webrtc/src/tools_webrtc/ios/build_ios_libs.py  

    看清楚后缀 看清楚后缀 看清楚后缀是py

     
     

    arm64真机64位,个人觉得编这个就够了其实.....别的都可以删掉,剩下的是arm是真机32位,x64模拟器64位,x86模拟器32位,根据个人需要删减。建议大家先备份啊!!

    之后的default位置后面改成'static_only'这个大家看到help也知道意思了,我这个图是改了后的,之前是default='framework'

    脚本对于我来说更改这些就行,如果有其他的需要的话大家可以多研究研究其他的选项。

    这里更改完后保存退出。

    然后执行

    ./build_ios_libs.sh

    就开始一顿编辑....这个时间不算短,我的机器应该有个20分钟左右。

    编译成功以后,你可以在这个地方找到你的.a静态库 

    webrtc_build/webrtc/src/out_ios_libs

     
     

    因为我当时忘记删除不要的架构,所以把4个都编出来了,如果你只编一个,时间会节省不少,这里根据你自己的需要,拿去用就好了。还有目前我找到的头文件的位置貌似这个

    webrtc_build/webrtc/src/sdk/objc/Framework/Headers/WebRTC

     
     

    之后,把.a静态库和头文件拖进你的项目里去使用就好了,当然是建议建个专门的文件夹来存放.a和头文件,记得在xcode中设置build setting里的Header search path 还有设置bitcode为no,静态库使用的时候,需要引入其他一些依赖:

     
     

    不引用的话,项目编译期就会报错。github上有很多开源的Demo,本篇主要是为了解决需要.a静态库的朋友,以及一些当前下载编译可行简便的方法。后续如果有新的体验会更新,有问题大家可以留言。

    写这篇文章的时候,借鉴了如下的文章,有兴趣的可以也去看看:

    iOS下载、编译WebRTC及demo   //这篇文章最后说了framework的集成,需要freamwork怎么集成到项目里的可以看下

    WebRTC iOS&OSX 库的编译  //我是从这篇文章确定了新的源码库也是可以编译出.a的,才下了决心去下6个G



  • 相关阅读:
    Json对象和字符串互转
    JSNOP调用。。。
    org.hibernate.LazyInitializationException: could not initialize proxy no Session
    myeclipse生成注解实体
    jquery判断浏览器和版本
    JSTL XML标签库
    ORACLE 月份不全,补全月份的sql
    js 上下左右键控制焦点
    google gson使用
    js判断undefined类型
  • 原文地址:https://www.cnblogs.com/baitongtong/p/9850330.html
Copyright © 2011-2022 走看看