zoukankan      html  css  js  c++  java
  • Qt 02 qmake

    qmake是奇趣公司开发的,在08年的时候被Nokia收购.不要简单的以为"qmake = Qt + make"的意思,

    不是这个样子的.我们都知道目前有很多项目构建工具,最典型的就算是GNU的Autotools,CMake.至于两

    者之间的比较,CMake更胜一筹.

     

    Wiki搜索一下,可以看到很多使用CMake开发Qt应用程序模板.而另外的选择基本上就都是使用qmake,单

    单说Qt开发,使用qmake会让开发更简单,因为qmake是量身定制的.这要和Qt的moc联系在一起.

     

    moc,学习过Qt的人应该都清楚,这是一个用来生成一些与信号(signals)和槽(slots)相关的底层代码的预编

    译工具(preprocesser).moc全称是Meta Object Compiler,翻译成为中文就是元对象编译器,moc工具处理

    带有Q_OBJECT宏的头文件,生成moc_xxx.h,moc_xxx.cpp的C++代码,之后再与程序源码一起编译.使用

    qmake之后可以省去手动运行moc命令,qmake可以自动执行该命令.

     

    安装Qt SDK之后,可以再帮助文档中找到关于qmake的内容.qmake和CMake在有些地方还是很相似的,就像

    CMake是通过编写CMakeLists.txt,而qmake是编写.pro文件.

    编写.pro文件比起CMakeLists.txt则要简单很多,在编写的时候只要参考SDK中的qmake文档,还是比较容易的.

    下面就截取qmake Reference中一些内容.

    qmake学习包括两个部分: 1. qmake变量 2.qmake函数.

    下面是qmake pro文件中常使用的变量:

    CONFIG
    DEF_FILE
    DEFINES
    DESTDIR
    DISTFILES
    DLLDESTDIR
    FORMS
    FORMS3
    GUID
    HEADERS
    INCLUDEPATH
    LEXSOURCES
    LIBS
    MOC_DIR
    OBJECTS_DIR
    QT
    RCC_DIR
    REQUIRES
    RESOURCES
    SOURCES
    SUBDIRS
    TARGET
    TEMPLATE
    TRANSLATIONS
    UI_DIR
    UI_HEADERS_DIR
    UI_SOURCES_DIR
    VERSION
    YACCSOURCES
    

     其中需要注意的是TEMPLATE:

    如果结合其他库开发Qt,则需要结合使用INCLUDEPATH和LIBS变量:

    关于qmake,文档很齐全,不像CMake,所以使用起来还是很简单的. 大家开发Qt大多都是喜欢使用QtCreator,KDevelop之类的IDE,

    所以qmake不会有问题,而我是个问题少年,不太喜欢IDE,所以自己了解一下.

     
  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/respawn/p/2642991.html
Copyright © 2011-2022 走看看