为什么MinGW / MSys会改变二进制路径?

时间:2012-06-24 20:39:49

标签: windows cmd mingw msys

我正在使用Mingw构建一个C / C ++项目。这个项目的makefile超出了我的理解范围,依赖于一个定制的,非常复杂的工具链来编译它。在Windows上使用GNU工具非常方便,特别是在Windows的cmd shell中,但在调用工具时(特别是制作),MinGW似乎改变了我的PATH。

Cmd通常会这样做:

echo %PATH% > ... c:\Apps\msys\bin ... (from cmd)

但msys将此地址更改为:

echo $PATH > ... /usr/bin ...

在msys中,即使我从makefile打印PATH。结果,抱怨它找不到像make,uname,echo这样的命令,你可以命名它(没有双关语)。

奇怪的是,我设法让这个环境在很久以前工作,但这是我第一次记得看到这个路径问题。如何让MinGW / msys正确指向其可执行文件?

1 个答案:

答案 0 :(得分:2)

理查德有一个观点 - 有两个不同的外壳争夺环境变量(更不用说运行msys),所以每个都解析它自己和系统的环境变量不同。

还要确保正确编写用户或系统环境中定义的变量 - Windows喜欢“C:\ foo \ bar”样式路径,但Msys将它们视为“/ c / foo / bar”。