windows系统:
1.depot_tools下载
下载depot_tools.zip并解压,将解压后的depot_tools文件夹路径加入到系统环境变量
打开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_checkout/src目录,cmd命令行执行下面命令可生成vs工程
gn gen out/Debug --ide=vs2015
生成工程在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