学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理。

Qt程序一般使用Qt提供的qmake工具来编译。

qmake工具可以使用与平台无关的.pro文件生成与平台相关的makefile。该工具包含了调用Qt内置代码生成工具(mocuicrcc)的必要逻辑规则。

可以在命令行下,输入qmake -project来生成平台无关的pro文件。

工程文件pro主要分为三种:app(单独的应用程序),lib(静态和动态库),subdirs(递归编译)。工程类型可以使用TEMPLATE变量来指定。

如: TEMPLATE = app(默认不指定的情况下是app工程)

对于app工程或者lib工程,有以下这些经常使用的变量:

HEADERS:指定C++头文件

SOURCES:指定C++实现文件

FORMS:指定需要uic处理的ui文件

RESOURCES:指定需要rcc处理的qrc文件

DEFINES:指定预定义预处理器符号

INCLUDEPATH:指定C++编译器搜索头文件路径

LIBS:指定工程要链接的库

CONFIG:指定工程配置和编译参数

QT:指定工程所要使用的Qt模块

VERSION:指定目标库版本号

TARGET:指定可执行文件或库的基本文件名,默认为当前目录名

DESTDIR:指定可执行文件放置的目录

DLLDESTDIR:指定目标库文件放置的目录

CONFIG:指定工程配置和编译参数

以下对CONFIG变量做主要介绍:

debug:编译有调试信息的可执行文件或则库

release:编译不具有调试信息可执行文件或者库(如果同时指定debug release时,只有debug有效)

warn_off:关闭大量警告,默认是打开的

qt:指应用程序使用Qt

dll:动态编译库

staticlib:静态编译库

plugin:编译一个插件

console:应用程序需要写控制台

当我们写CONFIG变量时,可以使用

如:CONFIG = qt release warn_off

或者CONFIG = qt

CONFIG += release

CONFIG += warn_off

当想要移除某个设置时:CONFIG -= warn_off

在pro文件里,可以使

varName或者varName或者

{varName}来访问自己定义的变量,如

MyVersion = 1.2

FILE = 1.cpp

TARGET = improve$${MyVersion}

SOURCES = $$FILE

pro文件里,访问环境变量的用法是:$(varName)

pro文件里,访问Qt配置参数的用法:$$[varName]

在不同的编译平台上编译时,需要设定条件。如:

win32{

SOURCES += 1.cpp

}else{

SOURCES += 2.cpp

}

或者

win32:SOURCES += 3.cpp

转自:http://www.cnblogs.com/braver/articles/1935891.html

Qt中Pro文件变量详细说明的更多相关文章

  1. QT中PRO文件写法的详细介绍

    学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理. Qt程序一般使用Qt提供的qmake工具来编译. qmake ...

  2. QT中PRO文件解析(转)

    From csdn blog: QT中PRO文件写法的详细介绍,很有用,很重要! 在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: ...

  3. QT中.pro文件的写法

    QT中.pro文件的写法   qmake 变量 含义 #xxxx 注释, 从“#”开始,到这一行结束 SOURCES 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开 SOURC ...

  4. Qt中 .pro 文件和 .pri 文件简介

    *.pro 这是一个典型的Qt示例程序的.pro文件(propriprfprl.pro): TEMPLATE = app CONFIG += QT QT += core gui TARGET = pr ...

  5. (转载)QT中PRO文件写法的详细介绍,很有用,很重要!

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释从“#”开始,到 ...

  6. QT中pro文件编写的详细说明

    如果用QTCreator开发的小伙伴,可能都知道.pro文件,但是里面的具体配置可能比较模糊,今天我就来给大家好好讲解下 一.名称解释 QT += :这个是添加QT需要的模块 TARGET = :生成 ...

  7. 关于QT中.pro文件中的相对路径

    被.pro文件中的相对路径给整糊涂了,仔细研究后,原来.pro文件中有两种相对路径. 一种情况下./表示.pro文件所在的目录 另一种情况下./表示构建生成目录 INCLUDEPATH SOURCE ...

  8. qt,pro文件中用于平台区分的写法

    qt,pro文件中用于平台区分的写法 切记: 大括号和平台需要在同一行中,否则会失效 unix { TARGET = appname } macx { TARGET = appname2 } win3 ...

  9. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

随机推荐

  1. Bridge - 桥接模式

    1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度 ...

  2. webpack-dev-server的自动更新配置

    一.背景 测试发布一个项目,修改jsx中的内容,页面不自动更新. 每次必须执行npm run build:然后执行npm run start. 脚本如下: "scripts": { ...

  3. 上传一个 游戏server架构图

  4. mysql InnoDB 的行锁

    表的引擎类型必须为InnoDB才可以进行此操作. 相关链接:http://www.cnblogs.com/CyLee/p/5579672.html 共享锁:单独运行前两句,然后新建一个会话使用第三句. ...

  5. mysql 权限处理

    这是对mysql 业务用户在权限处理中遇到的坑: 之前在新建mysql 实例后会做两件事 1.增加业务库 2.为业务库增加一个与之对应的用户 create database appdb char se ...

  6. unity 获得父子节点

    与常识不同,unity中获得父子节点需要通过transform.即先获得父/子节点的transform,然后再通过父/子节点的transform获得父/子节点. 获得父节点gameObject: Ga ...

  7. Ruby gem 更换国内源

    gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/

  8. unity + win8.1 apps 小游戏demo

    unity3d用的人挺多. . .本来想写个3d游戏试试. .额..貌似挺麻烦.. . .. ..先用unity写个简单的2d游戏吧.. (adsw回车  或者  触摸屏虚拟摇杆) 开发环境 unit ...

  9. 用platformio编写arduino程序

    哈哈,今天浏览arduino.cc官网,找到一个好东东,以后,在ubuntu下用终端编程在也不发愁了. platformio.org是一个物联网全能的IDE,甚至还贴心的提供了在命令行下编程的版本:p ...

  10. vim:查看当前的配置文件名称和地址

    vim把当前使用的配置文件地址放置在变量MYVIMRC中.在vim使用echo查看即可: :echo $MYVIMRC