You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

谷歌Chromium源码添加头文件时如何配置GN Ninja构建文件

问题原因

你在//content/browser/devtools/protocol/page_handler.cc中引入了Chrome上层的头文件,而//content/browser:browser构建目标的默认依赖列表中没有包含这些头文件所属的//chrome/browser/ui:ui目标,因此GN依赖检查触发报错。

解决步骤
  • 第一步:找到src/content/browser/BUILD.gn文件,打开后定位到source_set("browser")的配置段
  • 第二步:在该配置段的deps列表中新增一行依赖声明:
    "//chrome/browser/ui:ui",
    
    修改后的deps段示例:
    source_set("browser") {
      # 原有其他配置项
      deps = [
        # 原有已有依赖项
        "//chrome/browser/ui:ui", # 新增的依赖项
      ]
      # 原有其他配置项
    }
    
  • 第三步:如果新增依赖后仍然报visibility权限错误,说明//chrome/browser/ui:ui目标默认限制了可访问范围,需要修改src/chrome/browser/ui/BUILD.gn:定位到source_set("ui")配置段,在visibility列表中新增"//content/browser:*"即可开放访问权限。
  • 第四步:重新执行gn check out/Default验证依赖问题是否解决。
注意事项
  • Chrome源码架构设计中content层为独立底层模块,正常上游开发规范不允许content层直接依赖chrome上层代码,如果你是做自定义功能可以忽略该分层约束,如果是准备向上游提交代码需要调整实现方案避免跨层依赖。

内容的提问来源于stack exchange,提问作者LGCD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:18:05