本文转载来源:https://blog.csdn.net/See_Star/article/details/113703306
使用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语音编写项目的界面。