当前位置: 首页 > news >正文

gn入门(Chromium)

Chromium是用gn和ninja进行编译的,即gn把.gn文件转换成.ninja文件,然后ninja根据.ninja文件将源码生成目标程序。gn和ninja的关系就与cmake和make的关系差不多。
代码下载:https://download.csdn.net/download/arv002/88668243

1. 环境配置

在我们自己的项目中,也可以使用gn来进行编译。
在windows上总是会遇到各种各样的问题,还是直接下载二进制程序省心:

https://github.com/ninja-build/ninja/releases
https://chrome-infra-packages.appspot.com/p/gn/gn

然后设置环境变量,以便在命令行中直接使用。

2. 示例

这里写个hello_word来演示下gn的基本使用。
首先,写一个hello_word.cc源码文件:

#include <iostream>int main()
{std::cout << "Hello world: gn build example" << std::endl;return 0;
}

然后在同一目录下创建BUILD.gn文件:

executable("hello_world") {sources = ["hello_world.cc",]
}

同时,gn还需要

相关文章:

  • Windows电脑引导损坏?按照这个教程能修复
  • 第二十六周:学习笔记
  • Linux 安装 mysql【使用yum源进行安装】
  • Android 万能的RecyclerView适配器(BaseRecyclerViewAdapterHelper)
  • BloombergGPT—金融领域大模型
  • oracle-存储结构
  • 扫雷(c语言)
  • JAVA-ArrayList的相关坑
  • SQL高级:存储过程和触发器
  • MR实战:统计总分与平均分
  • 分库分表之Mycat应用学习二
  • 【网络面试(2)】DNS原理-域名和IP地址的查询转换
  • C#学习笔记 - C#基础知识 - C#从入门到放弃 - C# Windows窗体技术及基础控件(一)
  • 08-接口文档管理工具-项目集成knife4j__ev
  • 【模拟电路】基础理论与实际应用
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • Android Studio:GIT提交项目到远程仓库
  • Android交互
  • Electron入门介绍
  • GitUp, 你不可错过的秀外慧中的git工具
  • GraphQL学习过程应该是这样的
  • leetcode98. Validate Binary Search Tree
  • linux安装openssl、swoole等扩展的具体步骤
  • Otto开发初探——微服务依赖管理新利器
  • Spring Boot MyBatis配置多种数据库
  • 工程优化暨babel升级小记
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • (02)vite环境变量配置
  • (3)STL算法之搜索
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (五)IO流之ByteArrayInput/OutputStream
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)winform之ListView
  • ./configure、make、make install 命令
  • .gitignore文件设置了忽略但不生效
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .Net中ListT 泛型转成DataTable、DataSet
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @Valid和@NotNull字段校验使用
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [cogs2652]秘术「天文密葬法」
  • [CSS]文字旁边的竖线以及布局知识
  • [HCIE] IPSec-VPN (手工模式)
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [javaSE] GUI(Action事件)
  • [jobdu]不用加减乘除做加法
  • [LeetCode]—Rotate Image 矩阵90度翻转
  • [LeetCode]-使用特殊算法的题目-2
  • [luogu2165 AHOI2009] 飞行棋 (枚举)
  • [NHibernate]条件查询Criteria Query
  • [nlp] id2str的vocab.json转换为str2id