chrome gn,gyp使用

从去年开始,将所有工程全部用gyp重写。但是今年一更新webrtc的代码,发现google官方竟然已经准备在用gn替换gyp了……。



于是,开始抽空了解了gn的用法。在网上的相关资料特别少。相信是csdn第一个吧,哈哈。

其实gn官方doc目录的文档是最全的。当然前提你得有个好**工具,然后去到chrom的sourcode中下载最新的gn和资料吧。


这里只备注一个很重要的东西:

all_dependent_configs, public_configs


以前在gyp中是直接用all_dependent_settings,而在gn中就换成了all_dependent_configs了。

all_dependent_configs与public_configs的区别,官方文档说了,public_configs是直接子类才能使用的,而all_dependent_configs是所有子类都会使用,有点像病毒……。株连九族就是这个意思吧。


鉴于csdn都很少用了,就直接上代码吧,


https://github.com/wacr2008/


大家有要得上的自己下载,里面包含了基本的gn和gyp用法,不过我不建议再使用gyp了。直接上gn吧。

另外,gn不支持vs2013之前的工具了,因为它要与ninja整合。但是gyp还是可以使用vs2008的。


里面是前YY同事黄建雄的soui库为基础做例子。相信基本的gn用法,除了chrome官网的,我这个例子也是比较完善的了。包含基本的lib,dll,exe,yasm等等等。都全了。基本的项目是够用了,现公司的产品我也是改为gn的了。


再次推荐下soui库,开源里面挺不错的,除了易用性没有duilib傻瓜外,功能还是蛮强大的,一直也想将soui的布局这块重写为duilib的方式,这样傻瓜式的布局和快速开发就可以了。但一直没时间弄,还有iaccessible的实现例子也一直没空写,接下来要研究下android的视频,看来这些都只能是情怀了……


你可能感兴趣的:(c语言,c++,windows,linux)