3

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

Cmd 正常执行:

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

但 msys 将此地址更改为:

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

在 msys 中,即使我从 makefile 打印 PATH 也是如此。结果,make 抱怨它找不到诸如 make、uname、echo 之类的命令,你可以命名它(不是双关语)。

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

4

1 回答 1

2

理查德有一点 - 有两个不同的shell争夺环境变量(更不用说运行msys),因此每个shell都以不同的方式解析自己的环境变量和系统的环境变量。

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

于 2012-07-31T12:49:51.343 回答