快速查找qt pro文件中的用qmake language写的库函数

qt函数分为test函数和replace函数:qmake language 内置函数 自定义函数 defineTest(testfunctionname) defineReplace(repacefunctionname)_丘上人的博客-CSDN博客

qt为qmake language提供了内建函数(用C++写的逻辑)和用qmake language写的库函数。内建函数可以在帮助文档中找到:

内建函数具体的代码逻辑在qmake工程源码中:具体位置在:QtInstallDir\Qt5.12.0\5.12.0\Src\qtbase\qmake\library\qmakebuiltins.cpp 中,通过找内建函数函数名可以快速定位。

qmake language写的库函数有如下两种方式可以找到函数定义:

第一种方式是将所有的依赖的qmake language的库文件都在notepad中打开,然后查找关键字,主要函数在QtInstallDir\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\features文件夹下。具体文件依赖可以在makefile中的*.pro规则中找到。

第二种方式是用qmake对pro文件进行调试。编译调试和运行qmake可以参见:用qt编译qmake_丘上人的博客-CSDN博客_qmake编译 
比如我想查看qtConfig这个测试函数,可以写好如下测试工程文件。

E:/test/t.pro

message(1111)
#qtConfig(inputdialog)

配置好运行参数 

 E:/test/t.pro -o E:/test/ -spec win32-msvc  "CONFIG+=debug"  "CONFIG+=qml_debug" -d -d
(尽量避免在普通工程中给qmake添加-d参数,否则日志会输出到qtcreator的 问题栏窗口 ,随便一个pro文件就会输出几千条信息,显示就需要好久,我这里用的是qmake工程,他会将日志输出到dos窗口)

然后在E:\workspace\QtWork\qmake\library\qmakebuiltins.cpp的T_MESSAGE的逻辑处设置断点。再在输出窗口中进行qtConfig的关键字查找:

 当然如果是非qt提供的qmake language库函数,而是第三方提供的qmake language库函数,需要将对应的库手动引入到t.pro中。

同样方法可以快速查看突然在pro文件中冒出来的变量的具体是哪个库文件的哪一行代码。比如看qmake的C++源码的时候突然有一个BUILDS的变量,但是C++源码中没有,猜测应该是在库函数中,果然通过快速查找这个变量的所在文件及所赋予的值:

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值