gn 和 ninja 编译 hello world
需求 在 gn, ninja 的开发环境下,实现 hello world 的编译,用以摸清最简单用法。 解决 gn 文件准备 gn 相关的文件可以从 simple_build 这个例子里面复制,总共需要复制以下几个文件: .gn 这个文件是隐藏文件,很容易漏掉,并且是 gn 执行时最先寻找的文件。这个文件所在的位置就是项目源码的 root 位置。其中的内容就是简单的指定项目的构建 config 具体是那一个。例子中指定的是 build/BUILDCONFIG.gn. build/BUILDCONFIG.gn, build/BUILD.gn 这两个是针对项目的一些设置包括不同操作系统的设置。 build/toolchain/BUILD.gn 这个是针对工具链的一些设置。 BUILD.gn 这个才是我们一般进行配置的文件,主要是配置需要编译的文件,库,最终的可执行文件等等。注意,不能使用 tab, 只能使用 space. 编译 使用 gn 生成 ninja 编译脚本。下面这条命令会在 out 目录下生成 test 目录,并且生成的 ninja 脚本也放在这个文件夹里面。 gn gen out/test 使用 ninja 正式编译。生成的编译文件和最终文件都放在相应的文件夹里面。 ninja -C out/test/ 运行和查看 直接运行 out/test 目录下的 hello 就可以执行了。 可以使用 gn desc 来查看相关信息. gn desc out/test "//:hello" 参考 GN使用笔记...