Windows环境下无法修改go env的CC变量为VS clang路径如何解决?
修复方案
方案1:使用Go内置全局配置(优先推荐)
直接通过Go自带的go env -w命令写入持久化配置,用双引号包裹完整路径规避空格截断问题,在Cmder bash中执行:
go env -w CC="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\Llvm\\bin\\clang-cl.exe" # 可选:配置适配clang-cl的编译参数,避免CRT安全告警报错 go env -w CGO_CFLAGS="-D_CRT_SECURE_NO_WARNINGS"
执行后验证配置是否生效:
go env CC
该配置会写入Go的全局环境配置文件,完全不受当前shell转义逻辑影响,不会出现空格截断问题。
方案2:使用Windows 8.3短路径消除空格
如果方案1不生效,可将带空格的路径转换为Windows原生无空格短路径:
- 打开Windows cmd,执行以下命令查询路径短名称:
dir /x "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin"
通常Program Files (x86)对应的短路径为PROGRA~2,转换后的无空格路径为:C:\PROGRA~2\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin\clang-cl.exe
2. 用无空格路径配置CC变量:
# 临时生效 export CC=C:\PROGRA~2\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin\clang-cl.exe # 持久化生效 go env -w CC=C:\PROGRA~2\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin\clang-cl.exe
方案3:单次构建临时指定变量
如果仅需单次构建生效,直接在构建命令前用单引号包裹路径指定CC变量:
CC='/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/Llvm/bin/clang-cl.exe' go get github.com/icexin/gocraft
内容的提问来源于stack exchange,提问作者ChristianOConnor
相关产品推荐
相关产品推荐

