zoukankan      html  css  js  c++  java
  • [转]QT项目生成流程例图

    最近在做一个把MFC下的项目移植到Qt上的工作,想知道Qt源文件的编译过程,但网上类似帖子比较少,这篇帖子讲解的比较深入,故转载:


    这篇短文假定读者熟悉C\C++项目的基本编译过程。


    moc.exe和cl.exe由于是针对2个cpp进行编译,即2个编译单元的2次调用,因此为了更清除的表达在上图中各出现了2次。


    这里用一个例子演示了QT中2个重要的工具程序uic和moc的作用:


    假设用QDesigner设计了一个X.UI窗口,之后就需要使用uic来进行编译,生成对应的.h文件.


    另外一个自定义的类型ClsA使用了Q_Object宏,进而可以使用QT的信号、槽机制,或者不使用QTDesigner派生出新的QT UI类,全用编码实现。


    Desinger生成的ui类可能产生一些自定义的信号和槽,这些函数的实现通常是放在另外一个cpp文件中的,可以在另外的IDE或者文本编辑器中编辑。


    在VS2008+QT VS INTERGREATION插件的环境中,是使用生成前事件脚本来调用uic,moc处理这些工作的。


    uic.exe和moc.exe的帮助可以在控制台使用"moc -?" "uic -h"查看,或者参阅QAssistant。


    没用用到QT特性的普通的类型编译过程这里就不赘述了,希望对您理解QT的工作过程有所帮助,更准确的找到您的IDE里QT“罢工”的原因。


    备注:使用makefile生成项目的童鞋可以对这些进行精确的控制,不过基本过程大体是一致的说。


    ____________________________
    本博客文章主要供博主学习交流用,所有描述、代码无法保证准确性,如有问题可以留言共同讨论。
  • 相关阅读:
    阅读编程书籍的方法(转)
    Java 面向对象概念
    Python 统计文本中单词的个数
    Python 学习笔记(五)杂项
    在CentOS7环境下部署TiDB
    前端学习之路:第三章、来做个天气应用吧(1)
    前端学习之路:第二章、Vue-router和axios
    前端学习之路:第一章、开始使用Vue
    在Docker下搭建Apache+PHP+mysql环境的过程记录
    在基于Windows系统的PHP后端中引入Redis
  • 原文地址:https://www.cnblogs.com/waytofall/p/2306368.html
Copyright © 2011-2022 走看看