WebRTC编译小记

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/epubcn/article/details/84144539

心血来潮,好久没有编译过WebRTC了,前几天同步了一份最新代码,今天先编译了一下Windows的。有功夫再编译一下其他平台的。这里记录一些编译过程中的关键内容。

Windows

编译日期:2018-11-16
设置命令提示符科学上网代理

set https_proxy=http://127.0.0.1:1086
set http_proxy=http://127.0.0.1:1086

不要http://也可,端口每个人用的都不一样

下载配置depot_tools

http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up

下载代码

fetch webrtc (首次)
gclient sync (源码较大,下载中断后执行这个)

切换到master

cd src
git checkout master
git pull origin master
gclient sync

生成VS工程

扫描二维码关注公众号,回复: 5330817 查看本文章

gn gen out/Default --ide=vs2017
生成的sln位于 out\Default\all.sln

gn gen不加附加参数的话,默认产生的是根据你的Windows系统的版本。如你的Windows是64位系统,生成的就是x64版本。并且使用gn默认产生的是debug版本。可以增加附加的参数改变,举个栗子:

生成release的x86版本

gn gen out/Default --ide=vs2017 --args=“target_cpu=\“x86\” is_debug=false”

注:如果你不清楚gn可以跟哪些参数,可以使用下面的命令查看:

gn args out/Debug --list
gn args out/Release --list

其中 out/Debug out/Release 是输出目录。注意Debug和Release的参数不同。

编译

ninja -C out/Default

附一张webrtc自带的peerconnection c/s例子程序的运行:
webrtc_peerconnection_sample

Ubuntu

待补

Android

发现网上已经有不少相关的文章了,就不写了。参考文章:

补充信息:

  • 编译后,会生成2份libjingle_peerconnection_so.so,带有符号表信息的,位于 **out\Debug[或Release]\lib.unstripped**,如果未来在产品开发中集成了bugly,需要上传符号表的时候,需要从这下面获取。
  • 官方预编译好的aar中,包含了armeabi-v7a, arm64-v8a, x86, x86_64四种芯片架构的,所以在使用 tools_webrtc/android/build_aar.py 生成aar的时候,也建议指定这四种。

iOS

待补

参考资料:

猜你喜欢

转载自blog.csdn.net/epubcn/article/details/84144539