gn入门(Chromium)

2023-12-27 17:48:57

Chromium是用gn和ninja进行编译的,即gn把.gn文件转换成.ninja文件,然后ninja根据.ninja文件将源码生成目标程序。gn和ninja的关系就与cmake和make的关系差不多。

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还需要在项目根目录有一个.gn文件用于指定编译工具链。这里我们直接拷贝gn官方的例子的配置,完整工程:hello_world.zip
之后就可以直接执行编译:

gn gen out/Def

文章来源:https://blog.csdn.net/arv002/article/details/135244976
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。