webrtc下载和编译

windows系统:

1.depot_tools下载

下载depot_tools.zip并解压,将解压后的depot_tools文件夹路径加入到系统环境变量

webrtc下载和编译_第1张图片

打开cmd命令行,执行gclient,第一次执行会下载工具

2.webrtc下载

mkdir webrtc_checkout

cd webrtc_checkout

fetch --nohooks webrtc 

如果出现中断则直接执行下面命令

gclient sync

3.编译

设置环境变量:

set GYP_GENERATORS=msvs

set GYP_MSVS_VERSION=2015

set DEPOT_TOOLS_WIN_TOOLCHAIN=0


webrtc下载和编译_第2张图片

进入webrtc_checkout/src目录,cmd命令行执行下面命令可生成vs工程

gn gen out/Debug --ide=vs2015


webrtc下载和编译_第3张图片

生成工程在out/Debug目录下all.sln,成功后执行下面命令编译

ninja -C out/Debug

编译过程较慢,请耐心等待。。。

32位和64位命令如下,可根据需求选择

64位debug和release:

gn gen out/Debug --ide=vs2015

gn gen out/Release --ide=vs2015 --args="is_debug=false"

32位debug和release:

gn gen out/Debug_x86 --ide=vs2015 --args="target_cpu=\"x86\""

gn gen out/Release_x86 --ide=vs2015 --args="is_debug=false target_cpu=\"x86\""

gn gen -C out/Linux/Release --args="is_debug=false target_cpu=\"x64\" rtc_include_tests=false rtc_use_h264=true rtc_initialize_ffmpeg=true ffmpeg_branding=\"Chrome\" is_component_build=false"

其中 rtc_include_tests=false 为禁止编译单元测试程序,可大大节省编译时间;

rtc_use_h264=true rtc_initialize_ffmpeg=true ffmpeg_branding=\"Chrome\" 为激活内部 H.264 编解码器。

可能遇到的问题:

1.LINK : fatal error LNK1181: 无法打开输入文件“advapi32.lib”

下载Windows 10 SDK,使用10.0.15063版本

Windows 10 SDK Build 15063:

EXE安装包:https://go.microsoft.com/fwlink/p/?linkid=845298

ISO安装包:https://go.microsoft.com/fwlink/p/?linkid=845299

2.LINK:fatal error LNK1158:无法运行"mt.exe"

这个原因是因为新版的win10 sdk改变了目录结构,使得编译软件无法找到必要的处理程序,解决方法如下:

进入C:\Program Files (x86)\Windows Kits\10\bin,将arm、armx64、x64、x86文件夹备份并删除

将C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0文件夹中的arm、armx64、x64、x86文件夹复制到C:\Program Files (x86)\Windows Kits\10\bin

重新执行ninja -C out/Debug

MAC系统:

Clone the depot_tools repository:

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

Add depot_tools to the end of your PATH (you will probably want to put this in your ~/.bashrc or ~/.zshrc). Assuming you cloned depot_tools to/path/to/depot_tools:

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

fetch --nohooks webrtc_ios

gclient sync

gn gen out/mac --ide=xcode --args='is_debug=false target_os="mac" target_cpu="x64"'

ninja -C out/mac

Linux系统:

下载depot_tools方法同mac

fetch --nohooks webrtc

gclient sync

gn gen out/Default

ninja -C out/Default

你可能感兴趣的:(webrtc下载和编译)