webrtc所有平台下载编译步骤详细说明

简介: webrtc所有平台下载编译步骤详细说明1、安装depot toolsWindows:国外下载:https://storage.googleapis.


webrtc所有平台下载编译步骤详细说明


1、安装depot tools


Windows:
国外下载:https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载完把压缩包解压,然后把解压目录加入PATH环境变量
Linux(Android)/Mac(IOS):
安装git
国外:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
国内:git clone https://source.codeaurora.org/quic/lc/chromium/tools/depot_tools
把depot_tools目录加入PATH:export PATH=`pwd`/depot_tools:"$PATH"


2.安装依赖软件


Windows:
a、系统locale最好设置成English,就是控制面板里面的Region,看下图


b、安装”Visual Studio 2015 Update 2“,其他版本都不受官方支持。
c、操作系统必须是Windows 7 x64及以上版本,x86操作系统都不支持。
d、安装VS2015时必须有下列组件:
•Visual C++, which will select three sub-categories including MFC
•Universal Windows Apps Development Tools > Tools
•Universal Windows Apps Development Tools > Windows 10 SDK (10.0.10586)
e、新开个cmd中运行set DEPOT_TOOLS_WIN_TOOLCHAIN=0,之后所以脚本都在这个cmd中运行
f、编译是用ninja而不是VS!

Linux:看后面

Android:
安装Java OpenJDK:
$ sudo apt-get install openjdk-7-jdk
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
$ sudo update-alternatives --config jarsigner

Mac(IOS):
安装最新XCode


3.下源码


先创建目录
mkdir webrtc-checkout
cd webrtc-checkout

Windows:
fetch --nohooks webrtc
gclient sync

Linux:
export GYP_DEFINES="OS=linux"
fetch --nohooks webrtc_android
gclient sync

cd src
./build/install-build-deps.sh

Android:
export GYP_DEFINES="OS=android"
fetch --nohooks webrtc_android
gclient sync

cd src
. build/install-build-deps-android.sh

Mac:
export GYP_DEFINES="OS=mac"
fetch --nohooks webrtc_ios
gclient sync

IOS:
export GYP_DEFINES="OS=ios"
fetch --nohooks webrtc_ios
gclient sync


4、生成ninja项目文件


Windows/Linux:
方式一:使用gn生成:
生成debug版ninja项目文件:gn gen out/Default
生成release版ninja项目文件:gn gen out/Default --args='is_debug=false'
清空ninja项目文件:gn clean out/Default
方式二:使用gyp生成(已过期的方式,但是目前还可以用)
python webrtc/build/gyp_webrtc.py

Android:
使用gn生成:
gn gen out/Default --args='target_os="android" target_cpu="arm"'
生成ARM64版:gn gen out/Default --args='target_os="android" target_cpu="arm64"'
生成32位 x86版:gn gen out/Default --args='target_os="android" target_cpu="x86"'
生成64位 x64版:gn gen out/Default --args='target_os="android" target_cpu="x64"'

Mac:
使用gn生成:
gn gen out/Debug-mac --args='target_os="mac" target_cpu="x64" is_component_build=false'

IOS:
生成ARM版:gn gen out/Debug-device-arm32 --args='target_os="ios" target_cpu="arm" is_component_build=false'
生成ARM64版:gn gen out/Debug-device-arm64 --args='target_os="ios" target_cpu="arm64" is_component_build=false'
生成32位模拟器版:gn gen out/Debug-sim32 --args='target_os="ios" target_cpu="x86" is_component_build=false'
生成64位模拟器版:gn gen out/Debug-sim64 --args='target_os="ios" target_cpu="x64" is_component_build=false'


5.编译源码


Windows/Linux/Android/Mac/IOS:
ninja -C out/Default

好了,这样就编译出来所有相关的库和测试程序。


目录
相关文章
|
iOS开发
完整版在xcode打测试专用ipa包流程​
完整版在xcode打测试专用ipa包流程​
|
1月前
|
Web App开发 JavaScript API
开发webrtc第一步
这篇文章介绍了如何使用WebRTC技术在网页上实现摄像头和麦克风的调用,并将实时视频流显示在HTML的video标签中。
49 2
开发webrtc第一步
|
6月前
|
Linux iOS开发 开发者
ios ipa包上传需要什么工具
ios ipa包上传需要什么工具
45 0
|
6月前
|
Linux iOS开发 开发者
ios ipa 包上传需要什么工具
ios ipa 包上传需要什么工具
|
6月前
|
NoSQL 编译器 开发工具
音视频源码调试前准备vs2019+qt5.15.2搭建可调试环境
音视频源码调试前准备vs2019+qt5.15.2搭建可调试环境
168 0
|
Web App开发 开发工具 git
WebRTC 源码旧版本下载
WebRTC 源码旧版本下载
572 0
|
iOS开发
完整版在xcode打测试专用ipa包流程
前言:有时候,想要把自己的程序运行在别人的iphone手机上,但又不能通过本地真机调试的方法安装,这个时候我们就要打一个测试专用的ipa包给远方的测试小伙伴们测试。
|
IDE 开发工具 C++
MDK5软件入门之——基础工程创建及下载和调试
MDK5软件入门之——基础工程创建及下载和调试
420 0
MDK5软件入门之——基础工程创建及下载和调试
|
前端开发 JavaScript API
鸿蒙应用开发项目新建过程与hap包生成方法
今天主要和大家聊一聊,如何利用DevEco Studio创建工程项目,应用层的开发需要知道其中的配置方法。
932 0
鸿蒙应用开发项目新建过程与hap包生成方法
|
Web App开发 Ubuntu JavaScript
编译 WebRTC 库
最近一段时间的主要工作内容是开发一个远程控制手机的功能,其中音视频传输的部分是采用WebRTC技术来进行的,而我们的手机都是通过与其直接连接的Agent服务器进行管理,Agent服务是Java写的,现在市面上又没有合适的Java版WebRTC库,所以我就基于Google开源代码,写了一个JNI调用WebRTC Native的库。这里先简单介绍一下在编译WebRTC的过程中遇到的一些坑,分享一下整个工作过程中的经验。