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

VCPKG安装MSDFGEN时因路径含分号报错的解决方法

解决MSYS2/UCRT64 + VCPKG构建MSDFGEN时CMake编译器检测失败的问题

问题根源

Windows路径格式(带冒号C:\)在MSYS2环境下被错误解析,导致CMake无法识别正确路径,进而找不到编译器检测相关目录。

解决方案

1. 重启干净的UCRT64终端

关闭当前所有UCRT64窗口,直接从MSYS2安装目录打开ucrt64.exe(不要通过其他终端或手动修改PATH启动)。默认的UCRT64终端会自动配置好MSYS2风格的环境变量,避免Windows路径格式冲突。

2. 清理并重置环境变量(若手动修改过PATH)

如果之前手动添加过Windows格式的PATH,在UCRT64终端中执行以下命令重置环境:

unset PATH
source /etc/profile

3. 安装MSYS2原生CMake

确保使用UCRT64环境下的CMake,而非Windows系统或Visual Studio自带版本:

pacman -Syu mingw-w64-ucrt-x86_64-cmake

4. 指定正确的VCPKG Triplet安装MSDFGEN

在UCRT64终端中,明确指定适配UCRT64的triplet进行安装:

vcpkg install msdfgen --triplet ucrt-x64-windows

5. 可选:强制VCPKG使用UCRT64工具链

若上述步骤仍失败,安装时手动指定UCRT64的CMake工具链文件:

VCPKG_CHAINLOAD_TOOLCHAIN_FILE=/c/msys64/ucrt64/share/cmake/Modules/Platform/UCRT64.cmake vcpkg install msdfgen --triplet ucrt-x64-windows

注意事项

  • 所有路径尽量使用MSYS2风格(例如/c/msys64/ucrt64而非C:\msys64\ucrt64),避免Windows路径分隔符(分号;)被MSYS2错误解析。
  • 不要同时混用MSYS2终端和Windows命令行的环境变量,保持UCRT64终端环境的独立性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:05:18