前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebRTC中的编译工具 gyp 、gn 与 ninja

WebRTC中的编译工具 gyp 、gn 与 ninja

作者头像
音视频_李超
发布2020-04-01 20:25:41
2.6K0
发布2020-04-01 20:25:41
举报
文章被收录于专栏:音视频直播技术专家

什么是 gyp

GYP (Generate Your Project) ,用于产生跨平台的项目文件。如在 Mac 下产生 XCode 的工程文件,在Windows下生成 VS 工程文件,以及 Ninja 文件。

什么是 gn

GN(Generate Ninja),它是 GYP 的替代工具。由于GN是用C++编写,比起用 python写的 GYP 快了很多。

什么是 cmake

相对于 gyp 和 gn, 大家可能对 cmake 更熟悉点。它也是一种可以产生跨平台工程文件和 makefile文件的编译工具集。 webrtc最开始也是使用的 cmake /scons 作为编译工具的,但后来发现产生工程文件和编译速度太慢,所以就自己写了一套工具(gyp/ninja)。

什么是 scons

scons 与 cmake是一类工具,可以产生跨平台的工程文件以及makefile文件。

什么是 ninja

ninja,它与 make 类似,也是一种编译控制工具,它可以根据用户的需求进行编译。

小结

从上面的介绍大家可以了解到, cmake/scons/gyp/gn 这几个工具是同一类的,可以产生跨平台的工程文件,以及编译控制文件(如 makefile 或 .ninja 文件);而 make/ninja 是同一类工具,用于根据用户的要求对源文件进行编译,可以将它们称为编译控制工具;而具体的编译工具是指的 gcc/ clang/ msvs等工具了。

上面的几个工具非常容易混淆,大家一定要仔细区别。谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 gyp
  • 什么是 gn
  • 什么是 cmake
  • 什么是 scons
  • 什么是 ninja
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档