webrtc编译机制ninja相关分享

简介: webrtc编译机制ninja相关分享ninja -C out/Default这个是编译,编译之前要下代码gclient sync和安装依赖软件./build/install-build-deps.sh还有生成项目文件python webrtc/build/gyp_webrtc.py生成项目文件有两种方式,一种(GN)用gn gen out/Default,另一种(GYP)用python webrtc/build/gyp_webrtc.pygn和gyp都是生成NinjaBuild文件的元编译系统。


webrtc编译机制ninja相关分享


ninja -C out/Default这个是编译,编译之前要下代码gclient sync和安装依赖软件./build/install-build-deps.sh还有生成项目文件python webrtc/build/gyp_webrtc.py


生成项目文件有两种方式,

一种(GN)用gn gen out/Default,

另一种(GYP)用python webrtc/build/gyp_webrtc.py

gn和gyp都是生成NinjaBuild文件的元编译系统。


不过官方标注gyp已经过期了。。。他们正在从gyp迁移到gn
gn比gyp快20倍而且更简单,所以以后不用gyp了,用gn,当然现在还不完全支持gn,比如xcode上有问题,开发人员说他们需要帮助(
https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md)!!~~~
gn这个文件是在depot_tools下面,如果你运行不了,说明你没有加入PATH里:git clone之后运行export PATH=`pwd`/depot_tools:"$PATH",或者输出你的PATH看下有没有在PATH某个目录下,或者尝试运行“export CHROMIUM_BUILDTOOLS_PATH="/你的代码目录/webrtc/src/buildtools"”。


所有平台都是ninja编译的,VS/Xcode 只是用来辅助文件编辑和驱动文件编译,android ndk也是辅助android模块的使用。
另外在Linux平台上早期可以用make方式编译,但是现在只支持ninja编译!(
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-discuss/scPn6KFW2X8


官网相关:

gn目录:https://chromium.googlesource.com/chromium/src/+/master/tools/gn
ninja官网:https://ninja-build.org/
gn编译:https://chromium.googlesource.com/chromium/src/+/master/docs/ninja_build.md
gyp官网:https://gyp.gsrc.io/



目录
相关文章
|
12月前
|
Go Windows
Go 交叉编译 跨平台编译(windows系统跨平台编译)
Go 交叉编译 跨平台编译(windows系统跨平台编译)
76 0
|
监控 安全 前端开发
Onvif开发笔记(二): 使用gSOAP编译Onvif协议之编译Onvif代码框架
Onvif开发笔记(二): 使用gSOAP编译Onvif协议之编译Onvif代码框架
Onvif开发笔记(二): 使用gSOAP编译Onvif协议之编译Onvif代码框架
|
27天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
75 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
C语言 C++ Windows
QT多插件通信框架CTK编译记录
本文记录了编译QT多插件通信框架CTK的过程,包括编译结果截图、部署配置、Log4Qt编译配置、参考链接和拓展资料。文中提供了详细的编译步骤和配置文件示例,以及相关的资源链接。
QT多插件通信框架CTK编译记录
|
6月前
|
开发工具 git
vs2017下gstreamer编译
vs2017下gstreamer编译
|
编解码 Shell iOS开发
iOS音视频开发 - LAME编译
MP3编码引擎,目前在业界,转码成MP3格式的音频文件时,最常用的编码器就是LAME库。当达到320Kbit/s以上时,LAME编码出来的音频质量几乎可以和CD的音质相媲美,并且还能保证整个音频文件的体积非常小
|
Ubuntu Linux API
FFmpeg静态编译
FFmpeg静态编译
494 0
|
XML JSON 监控
Onvif开发笔记(一):使用gSOAP编译Onvif协议之gSOAP介绍与编译
Onvif开发笔记(一):使用gSOAP编译Onvif协议之gSOAP介绍与编译
Onvif开发笔记(一):使用gSOAP编译Onvif协议之gSOAP介绍与编译
|
自然语言处理 前端开发 安全
iOS-底层原理 31:LLVM编译流程 & Clang插件开发
iOS-底层原理 31:LLVM编译流程 & Clang插件开发
593 0
iOS-底层原理 31:LLVM编译流程 & Clang插件开发
|
Android开发 开发者
ijkplayer编译so库真没那么难(下)
公司现在的电台项目是我第二个接触音频播放项目,Android音视频 播放很多还是使用的MediaPlayer(大中厂除外),但是如果你用过 MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐 使用ExoPlayer...遇到过最坑的就是播放在线音视频的时候,网络不好 会一直加载,然后点多了还容易ANR...
410 0