问题标签 [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 投票
6 回答
10387 浏览

selenium-chromedriver - 如何使用 Google Chromium GN 构建目标?

我正在尝试使用GN从源代码构建ChromeDriver的可执行目标,我使用Depot Tools将其安装在 PATH 上的目录中,但是当我运行时出现此错误:gn BUILD.gn

如果我设置不正确,我不确定是否需要检查整个 Chromium 目录?

更新

我在gn_tool的帮助下下载了 gn 的工作二进制文件。

我仍然不确定我应该为“构建 chromedriver 目标”运行什么命令,因为现在我尝试的每个命令似乎都给了我这个错误:

...即使在我运行 gn 的目录中有一个 BUILD.gn 文件...

0 投票
2 回答
1078 浏览

android - 如何使用带有原生库的 android 库作为 Chromium 的依赖项?

我正在努力将一些库(aar包含本机库 ( .so))集成到 Chromium 中(更详细地是针对 Snapdragon 优化的分支)。

为了在 Android 代码中使用它,我必须修改chrome/android/BUILD.gn并添加 2 个依赖项:

所以我必须创建third_party/libxyz目录,将 aar 文件放在那里并创建BUILD.gn

请注意ignore_native_libraries = false,libxyz 具有本机库。

在构建 Chromium 时出现错误:

不支持带有 .so 文件的 android_aar_prebuilt()。使用 ignore_native_libraries = true 来消除这个错误。

它来自这里: https ://chromium.googlesource.com/chromium/src/build/config/+/master/android/rules.gni#2817

断言(_ignore_native_libraries || !_scanned_files.has_native_libraries, ...

是否有可能使用aar本机库、一些解决方法或修改rules.gni?如果我必须自己添加支持 - 我是否应该编辑rules.gni并添加从解压缩aar到目标目录的本地库(这似乎很简单)?

更新 1:由于目标名称错误(不支持“-”),我不得不更改目标名称并将“-”替换为“_”。

0 投票
1 回答
599 浏览

build - 我在 ../third_party/libevent/event-config.h 中找不到 Windows 的 event-config.h 路径或如何为 Windows 生成 event-config.h

再会 !

我尝试使用 chromium api 构建应用程序。

  1. 我安装铬源代码和工具 https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md

  2. 我可以生成 Visual Studio 解决方案 *.sln 并编译所有项目。$ gn gen --ide=vs out\Default $ devenv out\Default\all.sln

  3. 然后我下载示例 $ git clone https://github.com/dreamer-dead/chromium-sample-app.git sample_app

并尝试构建项目

$ gn gen --args=is_debug=true --root=../ ../out/gn $ ninja -C ../out/gn sample_app

我收到了消息 - 错误为您的平台生成 event-config.h

  1. 之后我检查了文件 /third_party/libevent/event-config.h

事件配置.h

我可以看到我没有适用于 windows 的 event-config.h

问题 - 我如何为 Windows 生成 event-config.h ?

问候, 弗拉基米尔

0 投票
2 回答
956 浏览

webrtc - WebRTC 也不是为 Windows 构建的

就像在这个问题WebRTC not building for Windows中一样,我无法在带有 VS 2015 的 Windows 7 64 位上构建 WebRTC,但问题有所不同。fetchgclient 同步顺利进行,没有错误。但是当我运行 gn gen out/WebRTC 时,我得到以下错误

我尝试添加上述问题中提到的变量,但没有帮助。任何帮助将不胜感激。

0 投票
0 回答
1080 浏览

google-chrome - 为 Chromium 创建构建目录时 GN 抛出错误

我正在尝试使用 GN for Chromium 源代码在我的 Windows 10 笔记本电脑上创建一个构建目录。这就是我所做的:

  1. 设置WIN TOOLCHAIN系统环境变量并将其设置为0
  2. 附加C:\src\depot_tools到我的系统Path变量 -C:\src\depot_tools\src是源代码所在的位置
  3. 下载一个有效的 GN.exe 二进制文件并将其放在与 相同的文件夹中GN.exe.sha1,该文件夹位于C:\src\depot_tools\src\buildtools\win

试着gn gen out\Default,但是这一直被抛出-

0 投票
1 回答
718 浏览

macos - 在 Mac 上构建 Chromium

我一直在尝试在 Mac 上构建 Chromium。我一直在关注这里的文档

Fetch 将无法正确结束,并将退出并显示以下堆栈跟踪:

我在目录中有 .glient,但没有 .gclient_entries。

当我运行 gclient sync :项目已同步,但它与堆栈跟踪退出:

不知道我在这里缺少什么。

0 投票
0 回答
57 浏览

chromium - gn教程hello_world中无法生成vcxproj文件

我跑

但没有生成 hello_world.vcxproj。

0 投票
2 回答
2674 浏览

build - 设置铬时出错

从源代码设置 chromium 时出现以下错误。
当我跑步时gn gen out/Default

我无法弄清楚如何解决这个问题。
我关注了 https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
也提到了这些
https://groups.google.com/a/chromium.org/forum/#!topic/ chromium-os-dev/360e3QsLH-8
https://groups.google.com/a/chromium.org/forum/#!msg/chromium-os-dev/nM7Af-sJP_I/YoqXPgZ0BQAJ
无法获得更多细节。
这些讨论涉及PKG_CONFIG_LIBDIR但不清楚在哪里设置此值或准确使用它。
关于我可能缺少的任何输入?

0 投票
1 回答
517 浏览

google-chrome - 如何覆盖 GN 目标/模板的变量值?

shared_library在我的 Chromium 构建中添加了 GN 目标。它具有根据toolchain.gni规则中定义的扩展名:

我想更改扩展名,因此我需要覆盖shlib_extension变量,但仅适用于我的shared_library目标。如果我修改toolchain.gni它将影响所有使用shlib_extension变量的目标。

我不想使用output_nameshared_library 属性,因为我可以看到使用out_name="lib${target_name}.cr"以下内容v8.ninja

但如果shlib_ext=".cr.so"进行以下操作v8.ninja

(这意味着output_name更改文件,而不是扩展名

作为问题的逻辑延续,是否可以覆盖.gn 文件中的变量,但仅适用于目标/模板is_debugis_component_build

假设我想构建V8is_component_build=truev8.gni在模板中进行),但其余代码采用默认或用户定义的变量值。

0 投票
0 回答
386 浏览

android - (Android 版 Chromium)如何通过 GN/NINJA 添加预构建共享库(.so)而无需源代码?

我正在研究 chromium for android 的源代码:尝试在 Webkit 中开发一些功能。

我做了什么:(1)在“third_party/WebKit/Source/core/frame”中创建test.cpp/test.h:test.cpp包含addlib.h调用addlib.so中的求和函数(下一步创建) (2)通过“g++ -fPIC -shared addlib.cpp -o addlib.so”在“third_party/WebKit/Source/core/frame”中创建add.h和add.so(addlib.so只提供求和的功能两个整数并返回结果)

我的目的:在test.cpp中调用addlib.so中的函数

但是 gn 给了我错误信息:

对我有什么建议吗?非常感谢。