使用Qt Creater打开项目,项目结构如下:
在这里插入图片描述




1 qgcgroundcontrol.pro


qgroundcontrol.pro是项目的工程文件,pro文件内具有很多关键字:


关键字 含义 备注
TARGET 生成目标的名字。 如:TARGET = mylib
TEMPLATE 定义了工程的编译模式,默认编译为app。 TEMPLATE可以为:app、lib(库)、subdirs(多级目录管理)等。
DESTDIR 生成目标的路径。 如:DESTDIR = …/bin/ 则目标文件的路径为当前pro文件所在目录的上一级的bin目录下
DEPENDPATH 工程的依赖路径
INCLUDEPATH 指定工程要用到的头文件路径 一般包括用户自定义的头文件路径或没有放入系统头文件路径的头文件路径
SOURCES 工程需要的源文件
HEADERS 工程所需要的头文件 一般包括用户自定义的头文件或未放入系统头文件路径的头文件
FORMS 工程要用到的ui文件 ui文件使用QT设计器生成的
LIBS 加载动态库文件 如:LIBS+=./mitab/libmitab.so
TRASHLATIONS 加载要用到的语言翻译_.ts文件
RESOURCES 加载要用到的资源_.qrc文件

具体可参考:QT Creator中的pro文件解释说明

2 _.pri


在这里插入图片描述
每一个_.pri单独为一个模块,可以理解为_.pri是_.pro的一部分。可以把 _.pro 文件内的一部分内容单独放到一个 _.pri 文件内,然后包含进来。使用的时候采用include引用即可。


这是qgcgrondcontrol.pro内对android.pri的引用。
在这里插入图片描述
这是qgcgrondcontrol.pro内对QGCCommon.pri的引用。
在这里插入图片描述
其中大部分_.pri都在项目的根目录下。(项目工程也在根目录下。)
在这里插入图片描述
但是有一些.pri不在根目录下,如:QGCLocationPlugin.pri。
在这里插入图片描述


3 Headers&Sources


在这里插入图片描述
该目录下包含项目所需的一些函数,Headers内包含头文件,Sources内包含源文件。
在这里插入图片描述
Headers内为后缀名为.h的头文件。
在这里插入图片描述
Sources内为后缀名为.cc的源文件。


Comm应该是Communication的缩写,改文件夹内的代码与通讯有关。


在这里插入图片描述
在项目的src目录下,我们可以直接找到comm文件夹,其中.h和.cc文件都在该文件夹内。


那么,如何让其分别显示在 Headers和Sources内,这就与qgcgroundcontrol.pro有关系了。


前面介绍过,*.pro内包含HEADERS关键字,用于包含工程所需要的头文件,同理.cc文件声明在SOURCES关键字内。


所以如果自己新增一个.h和.cc文件,需要修改.pro文件才能添加成功。
在这里插入图片描述
在这里插入图片描述


4 Reources


在这里插入图片描述
Resources文件夹内包含:UI界面代码、图片、图标、字体、音频文件等。


qgcimages.qrc内包含一些png图片和svg按键图标。
在这里插入图片描述
qgcresources.qrc内包含遥控器数据、字体、模型、音频、固件等。
在这里插入图片描述
qgcgroundcontrol.qrc内,使用qml语音编写项目的界面。
在这里插入图片描述