QT——pro文件笔记

参考文章

本人只是将参考文章中对我有用的资料摘录下来,集合汇总,组成笔记,若需要详细信息,请查看原文
预编译加速编译
QT pro文件解析
Qt Creator指定临时文件生成目录(MOC_DIR/RCC_DIR等)和PWD/OUT_PWD/.pro官方文档
Qt包含工程集subdirs的使用

预编译头文件:

预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里,这些文件就成为预编译头文件。这些预先编译好的代码可以是任何C/C++代码,甚至是inline的函数,但是必须要是稳定的,在工程开发过程中不会被经常更改(因为一旦这些代码更改,就需要重新编译生成预编译头文件,也就起不到节约编译时间的效果)。

预编译头文件的作用就是提高编译速度,有了它你就没有必要每次都编译那些不需要经常改变的代码,编译性能自然就提高了。当然你也许有这样的疑惑:现在的编译器都有Time stamp的功能,编译器在编译整个工程的时候,它只会编译那些经过修改的文件,而不会去编译那些从上次编译过,到现在也没哟被修改过的文件,那为什么还要预编译头文件呢?

我们知道编译器是以文件为单位编译的,一个文件经过修改后,会重新编译整个文件,当然包括这个文件里包含的所有头文件中的东西,都需要重新编译一遍。

#配置预编译头
CONFIG += precompiled_header
#定义所需要预编译的头文件,xxx.h为自定义的预编译头文件,$$PWD为当前pro所在文件夹
PRECOMPILED_HEADER = $$PWD/xxx.h
//这是xxx.h头文件
//在预编译头文件中添加这个,则可解决部分中文乱码问题(原本的话,因为不知道最先编译那个文件,则需要在每个头文件中都添加这一句话)
#pragma execution_character_set("utf-8")
//添加所需的标准库文件(当头文件比较多时,能有效提高编译效率)
#include<vector>

指定临时文件生成目录:

QT默认情况下把所有的编译中间文件都生成到debug和release文件夹里,当项目比较复杂后,特别是创建工程集后,中间文件将会非常多,且混乱。

#MOC命令将含Q_OBJECT的头文件转换为标准的头文件存放的目录
MOC_DIR = tmp/moc
#RCC将qrc文件转化为头文件所存放的目录
RCC_DIR = tmp/rcc
#UIC将ui转化为头文件所存放的目录
UI_DIR = tmp/ui
#指定目标文件(obj)的存放目录
OBJECTS_DIR = tmp/obj

常用关键字说明:

#定义了工程的编辑模式,默认编译为app,可以为:app、lib(库)、subdirs(多级目录管理)等
TEMPLATE = app
#定义生成项目的名称,默认为工程名称,可以自定义
TARGET = myApp
#定义生成目标的路径,则目标文件的路径为当前日哦文件所在目录的上一级的bin目录下
DESTDIR = ../bin/
# 工程的依赖路径
DEPENDPATH += ./dll
#指定工程要用到的头文件路径,一般包括用户自定义的头文件路径或没有放入系统头文件路径的头文件路径
INCLUDEPATH += ./include
#加载动态库文件。如:LIBS
LIBS +=./mitab/libmitab.so
#加载要用到的语言翻译*.ts文件,这里加载两个ts文件
TRASHLATIONS = chinese.ts \ english.ts
#加载要用到的资源*.qrc文件
RESOURCES
#定义程序图标,这个需要与pro在同一文件目录下
RC_ICONS = myApp.ico
#定义编译选项 QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告
DEFINES += QT_DEPRECATED_WARNINGS

#指定编译器选项和项目配置
CONFIG  += c++11
CONFIG  += warn_on           #告诉qmake要把编译器设置为输出警告信息的
CONFIG  += precompile_header #可以在项目中使用预编译头文件的支持

#在QtCreator 中新增一个文件,pro中会自动添加
SOURCES: #工程需要的源文件
HEADERS:#工程所需要的头文件,一般包括用户自定义的头文件或未放入系统头文件路径的头文件
FORMS:#工程要用到的ui文件(ui文件时用QT设计器生成的)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值