defineReplace(win32Path) {#定义替换
win32:1 ~= s|/|\\\\|g#将会替换任何与指定的值的正则表达式匹配的任何值
contains(1, ^\\.*):pfx = \\#如果value存在于一个被叫做variablename的变量的值的列表中,那么成功,否则失败。
else:pfx =
segs = $$split(1, \\)#字符串分割
out =
for(seg, segs) {
equals(seg, ..):out = $$member(out, 0) #文档中member函数是只有两个参数的,返回函数的值列表中指定位置的值
else:!equals(seg, .):out += $$seg
}
return($$join(out, \\, $$pfx))
}
Qt 的路径分隔符默认是”\“,如果在里面使用相对路径拷贝文件,脚本命令会因为分隔符提示命令格式不正确,所以我们需要通过上面的函数来替换成win32环境的路径,然后通过以下命令
win32_PWD=$$win32Path($$PWD)
QMAKE_POST_LINK+= copy $$win32_PWD\..\a.txt D:\
就可以实现拷贝相对路径的文件了