qmake language shadowed(path)

shadowed(path) 是qmake 中的replace function。
其作用是将源码路径path 映射到构建目标路径中相应位置。输入的path不能是工程文件夹之外,否则会输出空字符串。
比如源码工程文件路径为:E:\workspace\QtWork\testEmpty\testEmpty.pro
工程构建路径为:E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit

测试如下:

path=E:\workspace\QtWork\testEmpty\gg
tt=$$shadowed(path)  #将E:\workspace\QtWork\testEmpty\path映射到目标文件夹下
message($$tt)  #输出E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit/path
tt=$$shadowed($$path) #将E:\workspace\QtWork\testEmpty\gg映射到目标文件夹下
message($$tt) #输出E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit/gg
path=D:/tt1/tt2
tt=$$shadowed(path)  # D:/tt1/tt2无法在E:\workspace\QtWork\testEmpty存在,无法映射。
message($$tt) #输出空

path=aa
tt=$$shadowed($$path)
message($$tt) #输出E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit/aa

#path=C:  #此处应该是个bug
#tt=$$shadowed($$path) 
#message($$tt) #输出E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit/C:

path=C:\
tt=$$shadowed($$path)  # C:\无法在E:\workspace\QtWork\testEmpty存在,无法映射。
message($$tt) #输出空

path=E:/workspace/QtWork
tt=$$shadowed($$path)  #E:/workspace/QtWork 无法在E:\workspace\QtWork\testEmpty存在,无法映射。
message($$tt) #输出空

message($$PWD)  #输出E:/workspace/QtWork/testEmpty
yy=$$PWD
zz=$$shadowed($$yy) #E:/workspace/QtWork/testEmpty 映射到目标文件夹下
message($$zz)   #输出E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bit 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值