美文网首页
webrtc配置环境

webrtc配置环境

作者: 哥只是个菜鸟 | 来源:发表于2022-12-22 11:57 被阅读0次

1.安装depot_tools

1.下载:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
 vim ~/.zshrc
  1. 把depot_tools 设置到PATH中:
export PATH=$PATH:/Users/wangjian/Desktop/Work/webrtc_ios/depot_tools
  1. 设置生效:
   source ~/.zshrc</pre>

2.安装ninja

git clone https://github.com/martine/ninja.git
cd ninja/
./bootstrap.py
 sudo cp ninja /usr/local/bin/
sudo chmod a+rx /usr/local/bin/ninja</pre>

3.下载WebRTC源码

1.clone

fetch --nohooks webrtc_ios

2.同步代码

gclient sync

3.这里会同步失败多次,就执行下面的更新命令

tools/clang/scripts/update.py
  1. 同步4389分支的代码
git checkout -b 4389 branch-heads/4389

注意:Mac下载源码时会一直报错,导致包没有完全下载下来,后面编译也报错,最后从同事Linux环境的电脑拷贝了一份完整的代码src目录文件

image.png

4.编译源码

  1. 编译framework
python tools_webrtc/ios/build_ios_libs.py  --build_config 'release'
  1. 生成Xcode工程
gn gen out/ios --args='target_os="ios" target_cpu="arm64" is_component_build=false ios_enable_code_signing=false' --ide=Xcode 
  1. 生成xcode工程后可以这样编译出framework
ninja -C out/ios framework_objc

踩坑:

1 . depot_tools路径一定要设置对

2. 解决clang++编译问题

curl https://commondatastorage.googleapis.com/chromium-browser-clang/Mac/clang-359912-2.tgz -o third_party/llvm-build/clang.tgz 
ls third_party/llvm-build/
mkdir third_party/llvm-build/Release+Asserts
tar zxvf third_party/llvm-build/clang.tgz -C third_party/llvm-build/Release+Asserts
  1. 编译报错

    1.在 src/tools_webrtc/ios/build_ios_libs.py中设置支持持arm64,即 DEFAULT_ARCHS = ENABLED_ARCHS = ['arm64'],支持64位真机足够,其他的模拟器没必要支持,否则打包时间很长

    2.在[BUILD.gn](http://build.gn/)中把-Wno-misleading-indentation,-Wno-implicit-int-float-conversion,-Wno-final-dtor-non-final-class,-Wno-builtin-assume-aligned-alignment,-Wno-deprecated-copy这些设置全部注释掉。不然会出现错误。

image.png
  1. 打包framework的时候出现一下报错
image.png

输入以下命令即可:

echo 'script_executable = "vpython"' >> .gn

4. 编译报错出现://webrtc.gni:504:32: Assignment had no effect.

image.png
 在参数后加上 rtc_include_tests=false
gn gen out/ios --args='target_os="ios" target_cpu="arm64" is_component_build=false ios_enable_code_signing=false rtc_include_tests=false' --ide=xcode</pre>

4. ninja building 错误

. ./bootstrap.py最新版可能不是这个,使用:./configure.py --bootstrap
2. macOS Monterey 12.3中有可能出现env: python: No such file or directory,具体次修改参考:https://dunky-z.github.io/2021/08/03/%E8%A7%A3%E5%86%B3-usr-bin-env-python-No-such-file-or-directory/

5.Mac系统升级之后python版本也升级了,出现python找不到的问题

image.png

由于webrtc切换的是旧的分支,所以有些兼容性问题比较麻烦,直接下载一个2.7.18版本的python即可

相关文章

网友评论

      本文标题:webrtc配置环境

      本文链接:https://www.haomeiwen.com/subject/znfjmrtx.html