MSYS2/MINGW64中带感叹号的环境变量含义及来源问询
MSYS2/MINGW64中
!::与!C:变量的说明 含义与来源
这些带感叹号的特殊变量是MSYS2为兼容Windows路径机制自动生成的,和bash间接扩展无关:
!::=::\:对应Windows系统的全局根路径映射!C:=C:\Users\user\Desktop:记录启动MSYS2 shell时C盘对应的初始工作目录,shell内切换目录后该值不会变化
这类变量是MSYS2更新后,路径转换机制优化带来的产物,属于环境内部的映射变量,并非系统或用户手动添加的。
编译问题的解决思路
CMake编译时引入无关目录,是因为这些变量被误识别为路径参数。可以通过两种方式处理:
- 临时清理变量:执行CMake前先清除这些变量,命令如下:
unset '!::' '!C:' cmake <你的编译参数> - 永久配置清理:编辑
~/.bashrc或~/.profile,加入上述unset命令,让shell启动时自动移除这些变量。
内容的提问来源于stack exchange,提问作者sdbbs
相关产品推荐
相关产品推荐

