0

在 Eclipse 和 Cygwin shell 中为 Cygwin C 项目运行 make 时,我遇到了不同的行为。

问题是路径名正在转换为 Windows 路径。

我的生成文件:

all:
    pwd
    cd .; pwd

在 Cygwin shell 中运行 make(正确):

pwd
/cygdrive/c/myproject
cd .; pwd
/cygdrive/c/myproject

在 CDT 中运行构建(来自现有代码的新 Makefile 项目,Cygwin 工具链):

make all 
pwd
/cygdrive/c/myproject
cd .; pwd
C:\myproject

它看到使用'。(或“..”)导致路径“转换”为 Windows 路径。有什么建议么?

4

2 回答 2

0

两件事,如果你要运行脚本,使用 shebang

#!/usr/bin/bash

其次,你需要知道的关于这个特定主题的一切似乎都在这里,而且是免费的:

http://oreilly.com/catalog/make3/book/ch07.pdf

使用类似于

cygpath `pwd`

反而

于 2013-07-02T18:35:01.870 回答
0

复合命令可能cd .; pwd是通过 shell 子进程执行的,所以这个 shell 进程可能有不同的$PATH变量集。如果你的 中有另一个pwd$PATH它将被称为 cygwin 的。例如,pwdfrom gnuwin32 打印窗口的样式路径。

于 2013-07-02T17:25:40.777 回答