Ubuntu 14.04下编译WebRTC
来源:互联网 发布:数据库服务器配置 编辑:程序博客网 时间:2024/06/06 13:13
这两天在Ubuntu Server 14.04下编译了一遍WebRTC,记录了过程,放在这里,有需要的朋友可以参考。
几点提示:
- 我使用的是Ubuntu Server 14.04,上面没开发环境,也没桌面,从零开始配置。
- 需要连接VPN才可以完成源码的下载和更新,以及部分依赖的安装
编译过程
首先要安装一些基础包,比如g++、Python等,使用下面的命令:
- 1
- 2
- 1
- 2
然后就是下面的步骤了,照着做就行了。有一些小细节,我都贴出来了。
注意我编译的是Linux版本的WebRTC,native代码,想用编译出来的库文件来做开发。
- 1) 创建文件夹
在你使用的用户目录下执行:
- 1
- 2
- 1
- 2
- 2) 安装git
- 1
- 1
- 3) 安装 svn
- 1
- 1
- 4) 安装depot_tools
- 1
- 2
- 1
- 2
也可以在bashrc中添加一个export命令,用户登录时自动配置PATH,注意将PATH_TO_YOUR_WEBRTC_DIR替换为你的实际路径:
- 1
- 2
- 3
- 1
- 2
- 3
- 5) 同步代码
执行下列命令序列即可:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
此时我们在webrtc-checkout目录下,获取源码后,会建立一个src目录。
- 6) 安装编译依赖
直接使用WebRTC提供的install-build-deps.sh脚本来安装所有依赖(脚本安装的依赖有点多,有一些已经不需要了,不过没关系)。
注意我们是在webrtc-checkout目录下执行
./src/build/install-build-deps.sh
脚本使用sudo来安装依赖,你需要多次输入密码,否则就会停在那里……
部分依赖库也会要你输入Y或N,你不输入,也会停在那里……
我在Ubuntu Server 14.04上执行,安装字体时弹出了同意协议的界面,确认后才能继续。按左右方向键可以选中console显示的界面上的Yes或Ok按钮。
- 7) 生成ninja项目文件
需要进入webrtc-checkout/src目录下来执行相关命令。
生成debug版ninja项目文件:
- 1
- 1
生成release版ninja项目文件:
- 1
- 1
要清空ninja项目文件:
- 1
- 1
我生成的release版,截个图:
使用gn非常快,没反应过来呢,Done!
- 8) 编译
需要进入webrtc-checkout/src目录下来执行下面的命令:
- 1
- 1
再来个编译中的图:
3306个文件,编译半个小时左右,完成后:
好像没什么可看的……
编译好的SDK
默认编译的是静态库和可执行文件。
进入 out/Default 文件夹,执行ls命令,会看到编译出来各种可执行程序,比如stunserver、relayserver,如下图:
如果想知道.a在哪里,执行find ./ -name *.a
可以看到下面的结果:
想把.a文件拷贝到一个地方,开发时方便引用,可以执行下列命令:
- 1
- 2
- 1
- 2
上面两个命令,会在out目录下建立一个lib文件夹,把编译生成的所有.a文件拷贝过去。然后开发时就方便了。
头文件就在src/webrtc下面,比如api目录。直接引用就可以了。
参考文档
参考WebRTC的官方文档即可完成编译:
- https://webrtc.org/native-code/development/
- https://webrtc.org/native-code/development/prerequisite-sw/
关于WebRTC的学习资料,我之前整理了一个文章:
- WebRTC学习资料大全
- Ubuntu 14.04下编译WebRTC
- Ubuntu 14.04下编译WebRTC
- Ubuntu 14.04下编译WebRTC
- Ubuntu 14.04下编译WebRTC
- Ubuntu下编译安装WebRTC
- WebRTC在Ubuntu下的编译过程
- ubuntu下andriod-webrtc编译步骤
- ubuntu下andriod-webrtc编译步骤
- Ubuntu 14.04编译WebRTC For Android代码
- Ubuntu 14.04编译WebRTC For Android代码
- -----------ubuntu安装编译 webrtc--------------------
- ubuntu安装编译 webrtc
- Ubuntu 14.04下的编译webrtc的错误解决集粹
- Ubuntu环境下编译WebRTC(for android)
- windows 下编译webrtc
- Windows下编译webrtc
- Windows 下编译 WebRTC
- Windows下编译WebRTC
- 进程间通信-----共享内存
- IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍
- 一张图说明python包管理工具:distribute、pip、 easy_install 之间关系
- ccf/201412-2/Z字形扫描---java
- Angular前言
- Ubuntu 14.04下编译WebRTC
- 安卓6.0权限控制库
- curl命令行使用
- 将窗体作为revit的视图嵌入其中
- Java中Synchronized的用法
- 深入理解XMLHttpRequest
- Git版本管理工具[转载]
- 将jar包安装到本地仓库
- 关于C#使用DataContractJsonSerializer来进行JSON解析