| 项目 | 说明 |
|---|---|
| 影响内容 | 使用 HiSpark Studio 在 Windows 上编译 WS63 LiteOS 工程 |
| 根因 | ccache 缓存工具无法处理中文用户目录路径编码 |
问题描述
当 Windows 账户名为中文时,编译可能报如下错误:
ccache: error: Failed to create directory C:\Users\Ü:Åôά\AppData\Local\ccache/tmp: Permission denied
其中 C:\Users\Ü:Åôά 是中文用户名被错误转义后的乱码路径。ccache 缓存工具不支持中文用户目录,尝试在该路径下创建缓存文件夹时因编码/权限问题失败。
解决方案
方案 1:禁用 ccache(推荐,最快修复)
关闭缓存,直接调用编译器编译,彻底绕开中文路径问题。
在 HiSpark Studio 终端中执行:
$env:CCACHE_DISABLE="1"
然后重新点击【重编译】即可。
如需永久生效,可将该行加入系统环境变量,或修改构建脚本 build.py 强制禁用 ccache。
方案 2:修改 ccache 缓存目录(保留缓存,根治问题)
将 ccache 缓存目录指向纯英文无空格路径。
-
在 D 盘手动创建一个缓存目录,例如
D:\ccache_tmp -
在 HiSpark Studio 终端中执行:
$env:CCACHE_DIR="D:\ccache_tmp"
然后重新编译。ccache 将在该英文路径下正常工作,不再访问中文用户目录。
提示:两种方案可以组合使用,根据个人偏好选择即可。