首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msys路径转换(或msys的cygpath?)

msys路径转换(或msys的cygpath?)
EN

Stack Overflow用户
提问于 2012-08-18 10:25:41
回答 7查看 25.2K关注 0票数 41

我需要将“/DEF:c:\filepath\myLib.def”命令行选项从bash脚本传递到MS编译器/链接器。路径是由bash脚本作为构建过程的一部分生成的。基本上,我的脚本传递的参数是:

代码语言:javascript
复制
-DEF:/c/filepath/myLib.def

MSYS path conversion无法正确处理它,因为它不理解/DEF:部件。如果我这样做了,它就会起作用

代码语言:javascript
复制
-DEF=/c/filepath/myLib.def

但是ms工具不能理解这个参数。简而言之,在MSYS bash中编写该参数的正确方法是什么,以便将其转换为正确的参数?

在cygwin上,我可以使用cygpath,但没有等价物,因为来自msys的某个人认为它不是必需的(即使有使用cygpath的cygwin脚本)。

EN

回答 7

Stack Overflow用户

发布于 2013-08-28 20:36:09

使用pwd -W

或从此处http://mingw.5.n7.nabble.com/enhanced-version-of-cygpath-td28556.html下载msys的cygpath

并使用cygpath -wa

票数 14
EN

Stack Overflow用户

发布于 2014-10-01 12:36:27

与上面的dmitri-rubinstein@类似,我对代码进行了一些清理,并添加了反向转换。

代码语言:javascript
复制
winpath() {
    if [ ${#} -eq 0 ]; then
        : skip
    elif [ -f "$1" ]; then
        local dirname=$(dirname "$1")
        local basename=$(basename "$1")
        echo "$(cd "$dirname" && pwd -W)/$basename" \
        | sed \
          -e 's|/|\\|g';
    elif [ -d "$1" ]; then
        echo "$(cd "$1" && pwd -W)" \
        | sed \
          -e 's|/|\\|g';
    else
        echo "$1" \
        | sed \
          -e 's|^/\(.\)/|\1:\\|g' \
          -e 's|/|\\|g'
    fi
}

unixpath() {
    echo "$1" \
    | sed -r \
      -e 's/\\/\//g' \
      -e 's/^([^:]+):/\/\1/'
}
票数 8
EN

Stack Overflow用户

发布于 2013-03-15 22:10:54

我在msysgit中使用这个:

代码语言:javascript
复制
winpath() {
    if [ -z "$1" ]; then
        echo "$@"
    else
        if [ -f "$1" ]; then
            local dir=$(dirname "$1")
            local fn=$(basename "$1")
            echo "$(cd "$dir"; echo "$(pwd -W)/$fn")" | sed 's|/|\\|g';
        else
            if [ -d "$1" ]; then
                echo "$(cd "$1"; pwd -W)" | sed 's|/|\\|g';
            else
                echo "$1" | sed 's|^/\(.\)/|\1:\\|g; s|/|\\|g';
            fi
        fi
    fi
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12015348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档