ubuntu下载编译webrtc

1.下载安装git

	$ sudo apt install git-all

2.下载depot_tools

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

设置环境变量,~/.bashrc文件末尾添加depot_tool路径,

export PATH=$PATH:/path/to/depot_tools

并使更改生效

$ source ~/.bashrc

3.新建源代码目录

$ mkdir webrtc-checkout
$ cd webrtc-checkout

4.终端设置代理

$ export https_proxy=http://X.X.X.X:X

此步骤跳过fetch --nohooks webrtc后会出错:
[P4998 17:53:06.584 remote.go:125 W] cipd: connectivity error (Get https://chrome-infra-packages.appspot.com/_ah/api/repo/v1/instance/resolve?package_name=infra%2Ftools%2Fcipd%2Flinux-amd64&version=git_revision%3A4d19637ec2c3d1efd8c6a1b05285118b786919e2: proxyconnect tcp: tls: oversized record received with length 20527)

5.获取webrtc源代码

$ fetch --nohooks webrtc

6.手动创建文本文件.boto

文件内容:

[Boto]
proxy=192.168.21.208
proxy_port=808

注意不能写成如下:

[Boto]
proxy=http://192.168.21.208
proxy_port=808

否则,gclient sync后会报错:
Boto proxy host: “http://192.168.21.208” differs from https_proxy proxy host: “192.168.21.208”

设置环境变量NO_AUTH_BOTO_CONFIG

$ export NO_AUTH_BOTO_CONFIG=/usr/work/app/webrtc/.boto

此步骤跳过gclient sync后会出错:
You have PROXY values set in your environment, but gsutil in depot_tools does not (yet) obey them.

7.同步代码

$ gclient sync

8.添加脚本( 但花费时间较长,如果紧急可忽略此步骤)

$ ./build/install-build-deps.sh

9.检出到一个稳定的版本

	$cd src
	$git checkout branch-heads/72

10.生成ninja项目

	$ gn gen ../Debug --args='is_debug=false'

11.编译源码

$ ninja -C ../Debug

12.可以查看所有的参数

        $ gn args ../debug/ --list

2020.2.27更新:

修改webrtc源码重新编译时遇到问题:

1.gn: command not found 或者 gclient command not found

解决办法:
因为 depot_tools 环境变量配置有误,没有正确找到 depot_tools 目录下的 gn 或 gclient 工具,确认 ~/.bashrc 文件配置是否正确:

2.报错

ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
pkgresult = exec_script(pkg_config_script, args, “value”)

解决方法:

sudo apt-get update && sudo apt-get install pkg-config

3.git status显示修改了大量文件,git diff提示filemode变化

diff --git a/whitespace.txt b/whitespace.txt
old mode 100644
new mode 100755
解决办法:
原来是filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下:

git config --add core.filemode false

4.运行gclient sync后提示错误 client not configured see ‘gclient config’

需要生成配置文件:gclient config https://webrtc.googlesource.com/src.git
然后再执行gclient sync

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Windows 10上编译WebRTC可以按照以下步骤进行: 1. 首先,确保你的系统已经安装了Visual Studio。WebRTC在Windows上的编译需要使用Visual Studio环境。 2. 下载depot_tools,它是一个用于下载WebRTC源代码的工具。可以在GitHub上找到depot_tools的源码,并按照文档中的步骤进行安装。 3. 打开命令提示符或PowerShell,并导航到你想要保存WebRTC源代码的文件夹。 4. 使用以下命令克隆WebRTC的代码仓库: ``` git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ``` 5. 添加depot_tools到系统的环境变量中。在命令提示符或PowerShell中,输入以下命令: ``` set PATH=%PATH%;[depot_tools目录的路径] ``` 这将使你能够在任何目录中使用depot_tools中的命令。 6. 使用以下命令下载WebRTC的源代码: ``` fetch --nohooks webrtc ``` 此命令将下载WebRTC的源代码到当前文件夹下的src目录中。 7. 进入src目录,并使用命令执行Hook脚本以获取编译所需的依赖项: ``` cd src gclient runhooks ``` 8. 接下来,根据你的编译需求选择合适的方案,并使用gn生成构建配置文件。 如果你想做一个默认构建,可以使用以下命令: ``` gn gen out/Default ``` 如果你想构建一个调试版本,可以使用以下命令: ``` gn gen out/Debug --args="is_debug=true" ``` 构建配置文件将生成在out/Default或out/Debug目录中。 9. 最后,使用ninja命令来编译WebRTC: ``` ninja -C out/Default ``` 或者,如果你选择了调试版本: ``` ninja -C out/Debug ``` 这将编译WebRTC并生成可执行文件和库文件。 以上是在Windows 10上编译WebRTC的简要步骤。请注意,这只是一个概述,实际操作可能会根据具体环境有所不同。在实际操作中,请根据WebRTC项目的文档和最新的指南进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_34214088

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值