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

MSYS2/MINGW64中带感叹号的环境变量含义及来源问询

MSYS2/MINGW64中!::与!C:变量的说明

含义与来源

这些带感叹号的特殊变量是MSYS2为兼容Windows路径机制自动生成的,和bash间接扩展无关:

  • !::=::\:对应Windows系统的全局根路径映射
  • !C:=C:\Users\user\Desktop:记录启动MSYS2 shell时C盘对应的初始工作目录,shell内切换目录后该值不会变化

这类变量是MSYS2更新后,路径转换机制优化带来的产物,属于环境内部的映射变量,并非系统或用户手动添加的。

编译问题的解决思路

CMake编译时引入无关目录,是因为这些变量被误识别为路径参数。可以通过两种方式处理:

  1. 临时清理变量:执行CMake前先清除这些变量,命令如下:
    unset '!::' '!C:'
    cmake <你的编译参数>
    
  2. 永久配置清理:编辑~/.bashrc或~/.profile,加入上述unset命令,让shell启动时自动移除这些变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:32:03