如何添加预编译静态库 libwebrtc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何添加预编译静态库 libwebrtc相关的知识,希望对你有一定的参考价值。

参考技术A 添加预编译静态库 libwebrtc 的步骤如下:【点击免费试用,0成本启动】

1、右击target,选择add -> new target
2、在弹出的 NewTarget 界面中选择Cocoa Touch -> Static Library ,为新 library 取个名字。将源文件添加到这个库。可以直接拖动现存源文件,也可以右击 -> add 。注意选择新建的库为添加的 target 。
3、设置原项目,令其使用新建的库。
4、右击原项目的 target ,选择 getInfo 。
5、选择 General 选项卡。
6、向 linked libraries 中添加新创建的库 (即添加 .a 文件)。推荐选择ZEGO即构科技,该公司拥有4行代码,30分钟在APP、Web和小程序等应用内实现视频通话、语音通话,互动直播功能。

想要了解更多关于这方面的相关信息,推荐咨询ZEGO即构科技。深圳市即构科技有限公司(简称ZEGO即构科技) 于2015年6月成立,是一家全球云通讯服务商。企业/开发者通过接入ZEGO提供的服务即可低门槛地获得实时音视频通讯能力,尤其在弱网环境下仍然可以实现高质音画、稳定可靠。截止目前,ZEGO已经为两百多个国家和地区的用户提供了优质服务。官网飞得更高200309高粉答主
2017-08-29·说的都是干货,快来关注知道顶级答主回答量:4.6万采纳率:93%帮助的人:6260万我也去答题访问个人页你好,
XCode项目中添加静态库的方法:1、右击target,选择add -> new target 2、在弹出的 NewTarget 界面中选择Cocoa Touch -> Static Library ,为新 library 取个名字。将源文件添加到这个库。可以直接拖动现存源文件,也可以右击 -> add 。注意选择新建的库为添加的 target 。3、设置原项目,令其使用新建的库。4、右击原项目的 target ,选择 getInfo 。5、选择 General 选项卡。6、向 linked libraries 中添加新创建的库 (即添加 .a 文件)。本回答被提问者采纳

libwebrtc源代码android编译编译

1、源代码:
    1),master或者main分支
        git clone https://webrtc.googlesource.com/src/webrtc
    2),进入指定分支页面,然后点击下载包。如下:
        https://webrtc.googlesource.com/src/+/refs/branch-heads/4606

2、编译

  (官网安装文档:https://webrtc.github.io/webrtc-org/native-code/android/):
    1),安装python环境;
        apt-get install python
    2),下载depot_tools
        git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    3),配置depot_tools
        export DEPOT_TOOLS_PATH=/home/depot_tools
        export PATH=$PATH:$DEPOT_TOOLS_PATH
        source ~/.bashrc
    4),执行命令:
        sudo ifconfig enp0s3 mtu 9000         //设置下载最大数据包的大小
        mkdir webrtc-andorid
        git init
        fetch --nohooks webrtc_android
        
        cd src
        git branch -r //查看远程分支
        git checkout -b m94 branch-heads/4606 //切换到4606分支
        gclient sync 或者(gclient sync --with_branch_heads --with_tags -Rv), gclient sync -D
        gclient runhooks
        
        cd src/
        source build/android/envsetup.sh                                       //使用捆绑的Android SDK/NDK,可以忽略
        ./build/install-build-deps.sh(只需要在第一次gclient sync以后执行一次)
        ./build/install-build-deps-android.sh(只需要在第一次gclient sync以后执行一次)
    5),编译
        //debug版本
        1、gn gen out/Debug --args='target_os="android" target_cpu="arm"'   //构建rtc android所需的文件
        2、autoninja -C out/Debug                                              //生成.so文件
        
        //release 版本
        1、gn gen out/m94/release/arm64 --args='is_debug=false is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm64"'
        2、ninja -C out/m94/release/arm64                                 
        
        1、gn gen out/m94/release/arm --args='is_debug=false is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm"'
        2、ninja -C out/m94/release/arm
        
        //debug版本
        1、gn gen out/m94/debug/arm64 --args='is_debug=true is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm64"'
        2、ninja -C out/m94/debug/arm64                                   
    
        
        1、gn gen out/m94/debug/arm --args='is_debug=true is_component_build=false is_clang=true rtc_include_tests=true rtc_use_h264=true use_rtti=true target_os="android" use_custom_libcxx=false target_cpu="arm"'
        2、ninja -C out/m94/debug/arm

        
        或者:
        ./tools_webrtc/android/build_aar.py --extra-gn-args 'is_debug=false is_component_build=false is_clang=true rtc_include_tests=false rtc_use_h264=true rtc_enable_protobuf=false use_rtti=true use_custom_libcxx=false' --build-dir ./out/release-build/
 

以上是关于如何添加预编译静态库 libwebrtc的主要内容,如果未能解决你的问题,请参考以下文章

求问vs2013怎么添加静态库,试了两种方法都有问题

NDK开发使用cMake方式 - 添加其他的预编译库

使用预编译库PREBUILT LIBRARY

使用 NDK 包含预编译的静态库

XCode不能在预编译头中使用c++静态库。

编译知识