使用PowerShell构建Skia4Delphi时Win32编译错误求助
解决Skia4Delphi Win32构建时Clang版本检测失败的问题
问题重现
执行PowerShell命令构建Win32版本Skia4Delphi:
PS D:\Componentes_Delphi\skia\skia> .\sk4d-build --targets win32
触发错误:
INFO: Building for Win32. ERROR: Unable to generate build files for Win32 target: ERROR at //gn/BUILDCONFIG.gn:161:23: Script returned non-zero exit code. clang_win_version = exec_script("//gn/highest_version_dir.py", ^---------- Current dir: D:/Componentes_Delphi/skia/skia/temp/Win32/Release/ Command: C:/Python311/python.exe D:/Componentes_Delphi/skia/skia/gn/highest_version_dir.py "C:\Program Files\LLVM/lib/clang" "[0-9]+\.[0-9]+\.[0-9]+" Returned 1.
解决方法
1. 检查Clang安装的版本格式与路径
- 确认LLVM(含Clang)已安装到
C:\Program Files\LLVM,进入lib\clang子目录,查看是否存在X.X.X格式的版本文件夹(例如17.0.6)。 - 若版本文件夹格式不符合(如仅显示
17主版本号),需重新安装带完整语义化版本号的LLVM稳定发行版。
2. 手动指定Clang版本
修改gn/BUILDCONFIG.gn文件跳过自动检测:
- 找到
clang_win_version = exec_script(...)行,替换为你实际的Clang版本号,示例:clang_win_version = "17.0.6" - 保存后重新执行构建命令。
3. 验证Python脚本的执行环境
- 手动执行报错中的Python命令,查看具体错误原因:
C:/Python311/python.exe D:/Componentes_Delphi/skia/skia/gn/highest_version_dir.py "C:\Program Files\LLVM/lib/clang" "[0-9]+\.[0-9]+\.[0-9]+" - 检查Python是否有读取
C:\Program Files\LLVM/lib/clang目录的权限,以及路径是否存在拼写错误。
4. 匹配Skia4Delphi与LLVM版本兼容性
确认当前使用的Skia4Delphi源码版本,是否与安装的LLVM版本兼容,部分旧版Skia4Delphi仅支持特定范围的Clang版本。
内容的提问来源于stack exchange,提问作者missingNO
相关产品推荐
相关产品推荐

