在Eclipse中运行make for Cygwin C项目与Cygwin shell时,我遇到了不同的行为。
问题是路径名称正在转换为Windows路径。
我的makefile:
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路径。有什么建议吗?
答案 0 :(得分:0)
复合命令cd .; pwd
可能是通过shell子进程执行的,因此这个shell进程可能有不同的$PATH
变量集。如果pwd
中有另一个$PATH
,则会调用它而不是cygwin。例如,来自gnuwin32的pwd
打印窗口的样式路径。
答案 1 :(得分:0)
有两件事,如果你要运行脚本,请使用shebang
#!/usr/bin/bash
其次,您需要了解的有关此特定主题的所有内容似乎都是免费的:
http://oreilly.com/catalog/make3/book/ch07.pdf
使用与
类似的内容cygpath `pwd`
代替