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,所以自己了解一下.

     
  • 相关阅读:
    Kotlin系列之序列(Sequences)源码完全解析
    JVM不稳定参数
    akka共享内存
    内存占用过高 kill 调整mysql内存占用
    系统级监控
    linux环境变量
    进程启动,崩溃异常日志++++
    JVM致命错误日志(hs_err_pid.log)分析
    批处理之坑爹的感叹号和变量延迟扩展
    kafka消费端
  • 原文地址:https://www.cnblogs.com/respawn/p/2642991.html
Copyright © 2011-2022 走看看