问题标签 [gn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

cobalt - GN 钴构建指南

开发站点页面和默认的 README.md 文件描述了如何基于“GYP”创建钴。但是,我想知道它是否可以像铬一样由“GN”制成。我在钴的 doc 目录中找到了 gn 构建指南(https://cobalt.googlesource.com/cobalt/+/master/src/cobalt/doc/gn_quick_start.md),但它在我的开发环境中给了我一个错误。我会检查问题是什么。但首先,我想知道“GN”是否可以正式制造钴。

0 投票
0 回答
109 浏览

android - 在 Chromium 项目中添加第三方库

我正在开发一个扩展 chromium 项目的 Android 项目。我想添加第三方库(www.intercom.com)。问题是对讲文档只针对 gradle 项目,而 chromium 没有使用 gradle,所以我必须添加库手册。

我尝试复制third_party/intercom 中的所有.aar 和.jar 文件并创建一个gn 文件,但出现错误:

我已经包含了 org_jetbrains_kotlin_kotlin_stdlib_java,但仍然得到同样的错误。

问题:

  1. 我应该包括其他任何东西来摆脱这个错误吗?
  2. 是否有任何自动化工具/脚本可以为库生成 gn 文件?

谢谢!

0 投票
2 回答
759 浏览

bluetooth - 为嵌入式linux编译氟化物蓝牙堆栈

有没有人能够为嵌入式 linux 设备单独编译氟化物蓝牙堆栈? https://android.googlesource.com/platform/system/bt/+/181144a50114c824cfe3cdfd695c11a074673a5e/README.md
有一个指南,但是按照这些说明失败,没有获取 common-mk 文件夹并修改一些构建文件,所以没有缺少变量、文件夹等。 我已经能够生成 Ninja 文件,但是在构建时,缺少 gtest 和 modp_b64 标头。从 Google 的源搜索中获取它们后,Ninja 似乎能够在没有错误的情况下运行一点,但最终失败了:gn gen


所有错误和丢失的文件都来自third_party/libchrome
任何帮助将不胜感激。

0 投票
1 回答
171 浏览

c++ - 使用 GN 构建预编译头文件

我正在尝试编写一个生成 .gch 文件的 GN 文件。我在这里浏览了 GN 文档

我只是不明白如何实现这一点,我是 GN 新手。所以让我解释一下我想要实现的目标。

我希望 GN 创建以下一对编译器命令:

我希望能够在我的 GN 文件中创建一个源集,如下所示:

然而,这实际上并没有生成预编译的头文件。

我希望我需要另一个 source_set 或等效项来专门编译头文件,但是我的理解是编译器需要 .gch 后缀才能将文件识别为预编译头文件。

所以我想我需要说服 GN 根据目标创建特定的输出文件

  • hello_world.h 文件输出 hello_world.h.gch
  • hello_world.cpp 输出 hello_world.o

理想情况下,我希望能够修改我的工具规范:

然而,我对工具变量的阅读表明上述功能仅适用于 linker_tools。

GN 似乎也需要一些说服力来将 cxx 工具与 .h 文件相关联。

有没有人对此有任何经验或能够指出我正确的方向。

TL;博士

  • 我想用 GN 编译头文件以生成 .gch 文件
  • 我想在后面的编译步骤中使用 gch
  • 按照文档没有帮助,我是不是误会了
  • 如何说服 GN 编译 .h 文件
  • 我是否需要确保头文件的编译首先发生

谢谢你的时间

ps cpp 文件内容:

.h 文件内容

0 投票
1 回答
201 浏览

xcode - google Chromium 的 Xcode 项目在哪里?

我正在尝试为 macOS 制作一个 Web 浏览器应用程序。所以我去为 macOS 构建铬。我做了所有的说明,但我从来没有得到一个 Xcode 项目。你能帮我解决这个问题吗?

我按照 macOS 的说明进行操作

0 投票
1 回答
224 浏览

windows - 编译后如何分发 Chromium 二进制文件?目录有超过 39GB

我想分发我刚刚编译的 Chromium。问题是,刚刚编译后,二进制权重超过 39GB 的目录!如何仅过滤操作文件所需的内容?我认为它最多应该是1GB左右。我在 Windows 上,并按照此处的说明进行操作:https ://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md

在此处输入图像描述 有问题的目录如下所示:几个子目录和根目录下的约 1400 个单个文件。

理想情况下,我正在寻找特定的指导方针,包括我必须保留的文件和文件夹。

0 投票
1 回答
116 浏览

c++ - 如何将预编译/预编译的 *.o 目标文件添加到 GN 中的可执行文件

我有一个由 3rd 方库完成的预构建对象,我需要将它添加到 GN 的最终可执行构建中。

有什么方法可以将缺少源的预构建对象直接添加到 GN 可执行目标?

我看到 GN 有precompioed_source,但似乎链接到precompiled_header而不是我正在寻找的。

GN 工具链的工具链接似乎限制了添加自定义变量。

我可以手动链接到静态库,但这并不理想。

0 投票
0 回答
399 浏览

gn - 将 GN 命令行参数传递给依赖的 BUILD.gn 文件

我正在尝试使用 OpenSSL 编译 WebRTC M85,并且我必须编辑一些 BUILD.gn 文件以将硬编码的依赖项修改为 BoringSSL。

命令行类似于(简化):

但是当它运行时我收到这个错误:

third_party/libsrtp/BUILD.gn 中的代码:

通过 pc/BUILD.gn 调用third_party/libsrtp/BUILD.gn:

并且 pc/BUILD.gn 直接加载到根 BUILD.gn 中:

因此,似乎在 BUILD.gn 文件中的其他任何地方都可以使用的参数 rtc_build_ssl 没有填充到这个 third_party/libsrtp/BUILD.gn

我对 GN 文件不熟悉,是否需要添加一些内容才能使参数在子包含文件中保持定义?

0 投票
0 回答
118 浏览

class - 如何在 chromium gn build 中从 dll 导入类

我已经构建了一个具有类和函数的 dll(syncDemo.dll,syncDemo.lib)。我将 syncDemo.lib 添加到我的 chromium gn 文件中。 libs = ["syncDemo.lib"] 包含 .h 头文件后,我可以使用 .lib 中的函数。但是当我在 .lib 中使用类时,例如: CSyncDemo* csd = new CSyncDemo();csd->TestDemo(); 编译器失败并出现错误:未知类型名称'csd' 从 dll 导入类时是否需要更改一些构建标志?以下是我的 gn 文件的内容:

0 投票
1 回答
714 浏览

python - 我该如何解决这个下载铬问题

我尝试下载铬代码。我目前正在使用命令 $ gn gen out/Default 但它向我显示此错误:

我需要做什么 ??