码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 快速查找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

    1. message(1111)
    2. #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++源码中没有,猜测应该是在库函数中,果然通过快速查找这个变量的所在文件及所赋予的值:

     

     

  • 相关阅读:
    重拾vue
    GAMES104-引擎架构分层
    马来酰亚胺聚谷氨酸天冬氨酸聚合物药物载顺铂/mPEg-PGA纳米微球的制备
    【论文笔记】FCN全卷积网络
    悲观锁和乐观锁、缓存
    关于WEB端实现电子海图研究二GeoServer
    肽核酸(PNA)偶联穿膜肽(CCPs)(KFF)3K形成CCPs-PNA|肽核酸的使用方法
    “一种三元前驱体废水螯合树脂回收钴的装置”实用新型专利
    HTML+CSS+Jquery实现北大官网所有效果
    zookeeper常用命令详解
  • 原文地址:https://blog.csdn.net/qiushangren/article/details/127894329
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号