论坛首页> 三共建设

iEco集成开发环境的学习-项目管理-05


在创建helloqt项目之后,会在左侧项目列表中列出其项目结构,将项目中的所有节点展开之后,如下图所示:


在项目列表中helloqt表示项目名称,加粗字体显示表示这个项目是当前激活的项目,在QtCreator的项目管理中,始终会有一个当前激活的项目,默认的编译、构建、运行等都是对当前项目而言。一般在开发过程中,如果需要切换当前项目,可以在项目管理视图中选中要激活的项目节点, 并通过右键菜单“Set <项目名称> as Active Project”指定当前激活项目,也可以在构建套件选择区的部署中选择当前项目,如下图所示:


    项目列表中的文件夹HeadersSourcesForms均表示文件的分类,QtCreator会根据项目文件(helloqt.pro)的内容,对文件的类型进行分类,其中mainwindow.h是头文件,main.cppmainwindow.cpp是源文件,mainwindow.ui是界面文件。


QtCreator的项目文件是一个后缀为“.pro”的文件,本例子对应的是helloqt.pro,这个项目文件是类似一个配置脚本,对项目类型、项目结构、项目文件、QT库、输出目标、编译选项等进行了说明。与其他主流IDE开发工具(Visual Studio等)相比,虽然没有提供图形界面的配置,但是具备很高的灵活性。

项目文件有一套自己的语法规则,使用qmake进行解释,经过qmake解释之后会生成Makefile文件,再由解释Makefile的工具进行编译,在Linux下通常使用make工具来执行Makefile,而在Windows上则使用nmake。由于绝大多数平台都支持基于Makefile的编译,所以Qt的项目文件具备跨平台编译的基础。

qmake以变量的形式来定义每一项配置的具体内容,这里变量和开发中的变量略微不同,这里的变量是多值变量,一个变量可以保存很多的值,可以理解为一个向量类型的变量。例如项目的源文件列表,使用SOURCES变量来表示;项目的头文件列表,使用HEADERS变量标识;界面文件的列表,使用FORMS标识;资源文件的列表,使用RESOURCES标识。掌握了qmake的语法规则,也就掌握了如何编写正确的项目文件。完整的qmake语法,请参考Qt Assistant 的“qmake Language”章节。这里以表格的形式,仅将最常用的语法列出,如下表所示

序号

名称

分类

功能

用法

1

赋值

变量编辑

给变量赋值

SOURCES = helloqt.cpp

2

增加值

变量编辑

给变量增加一个新值

SOURCES += main.cpp

3

移除值

变量编辑

移除变量中的一个值

SOURCES -= main.cpp

4

增加唯一值

变量编辑

给变量增加一个唯一值,如果存在则不增加,不存在则增加

SOURCES *= main.cpp

5

替换值

变量编辑

使用正则表达式替换原有值

DEFINES ~= s/QT_[DT].+/QT

6

变量展开

变量展开

以变量值的形式替换变量本身

SOURCEFILES = $$SOURCES,赋值之后SOURCEFIESSOURCES的内容相同


qmake语法包含了很多的内置变量,这些内置变量主要可以分为:项目配置相关、源文件相关、配置相关、QT内置变量等。这里介绍一下常用变量的功能和用法,如下表所示,更详细的项目配置请参考Qt Assistant的“qmake Variable Reference”




序号

名称

分类

功能

用法

1

TEMPLATE

项目相关

设置项目模板的类型,最常见的值有:“app”表示当前项目是应用程序;“lib”标识当前项目是一个库程序

TEMPLATE = app

2

TARGET

项目相关

设置目标的输出名称

TARGET = helloqt

4

CONFIG

项目相关

配置选项,这个配置选项功能非常多

CONFIG += c++11,指定编译的时候,使用C++11的标准编译。等价于编译选项增加了-std=gnu++11

5

DESTDIR

项目相关

指定输出目录

DESTDIR = ../bin,输出到当前项目所在目录上一级目录的bin目录下

6

SOURCES

文件相关

源文件列表

SOURCES += main.cpp helloqt.cpp

7

HEADERS

文件相关

头文件列表

HEADERS += helloqt.h

8

FORMS

文件相关

界面文件列表

FORMS += mainwindow.ui

9

RESOURCES

文件相关

资源文件列表

RESOURCES += resources.qrc,添加后缀为qrc的资源文件

10

DEFINES

编译相关

宏定义

DEFINES += QT_DEPRECATED_WARRNINGS

11

INCLUDEPATH

编译相关

头文件路径

INCLUDEPATH += ../include

12

LIBS

编译相关

库文件路径和库文件

LIBS += -L/usr/lib64 –lpthread

13

QMAKE_CXXFLAGS

编译相关

直接增加编译选项

QMAKE_CXXFLAGS = -fopenmp

全部回复

暂无更多回复内容