Windows本地编译ChromeDriver 114版本遇skia/BUILD.gn未定义标识符错误
Windows本地编译ChromeDriver 114.0.5735.90遇Skia构建错误的解决办法
问题情况
在Windows机器上编译ChromeDriver(版本114.0.5735.90,对应提交bb5258320e0aca193f0f9c0dcf2987b2a3c8f551)时,触发以下构建错误:
ERROR at //skia/BUILD.gn:554:16: Undefined identifier sources += skia_gpu_private ^--------------- See //BUILD.gn:103:7: which caused the file to be included. "//skia:skia_unittests", ^---------------------- ninja: error: rebuilding 'build.ninja': subcommand failed ninja: Entering directory `outDefault' [0/1] Regenerating ninja files FAILED: build.ninja.stamp ../buildtools/win/gn.exe --root=./.. -q --regeneration gen .
已尝试执行gclient sync、编译最新版本,均未解决问题。
可行解决步骤
检查Skia变量定义
打开//skia/BUILD.gn文件定位到第554行,确认skia_gpu_private变量是否在文件内被提前定义或引入。若未定义,需补充对应的依赖导入语句,比如检查是否缺失import("//path/to/skia_gpu_private.gni")这类导入代码。重置Skia子模块
Chrome依赖的Skia是独立子模块,可能存在代码版本不匹配问题,执行以下命令重置:cd third_party/skia git checkout <对应Chrome提交的Skia版本号> cd ../.. gclient sync --with_branch_headsSkia对应的版本号可从Chrome源码的
DEPS文件中查找。跳过Skia单元测试编译
若无需编译Skia单元测试,修改//BUILD.gn第103行,移除"//skia:skia_unittests"条目,然后重新生成编译配置:gn gen out/Default --args="is_debug=false target_cpu=\"x64\"" ninja -C out/Default chromedriver重新下载完整源码包
直接下载对应版本Chrome的完整源代码压缩包,避免增量同步导致的文件缺失问题,解压后重新执行编译流程。
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

