Qt Creator以工程项目的方式对源码进行管理。一个Qt Creator工程包含不同类型的文件,各个文件的简单描述如下所示:
l .pro:项目描述文件
l .pro.user:用户配置描述文件
l .h:头文件
l .cpp:源文件
l .ui:界面描述文件
l 资源文件(图片、音频、等)
用Qt Creator新建一个项目工程时会默认生产一个.pro文件。.pro文件是用于配置和组织整个项目的相关信息,配置编译生产文件的路径,组织各个用于需编译的文件路径等信息。默认生产的.pro文件只适合管理简单工程;对于复杂的实际项目,自动生成的.pro文件就不符合要求了。因此就需要编辑.pro文件,使其适合管理实际工程项目;为了编辑.pro文件,就得学习了解.pro文件中的关键字;.pro文件关键字如下所示:
l #:注释起始符
l QT:模块声明
l TARGET:可执行文件名
l TEMPLATE:程序模板声明
l SOURCES:源码文件声明
l HEADERS:头文件声明
l FORMS:界面文件声明
l RC_FILE:资源文件声明
l INCLUDEPATH:头文件搜索路径
l CONFIG:设定项目的配置信息和编译选项
l LIBS:添加第三方库文件
l DEFINES:定义编译宏
l OBJECTS_DIR:用于设置obj文件生成路径;
l MOC_DIR :指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)。
l UI_DIR:指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录)。
l RCC_DIR:指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)。
在编辑.pro文件管理实际工程项目前,我们先来看看用默认生产的.pro文件管理工程代码的效果。工程代码文件夹树、工程文件所在文件夹和编译生成文件所在文件夹分别如下几图所示:
以上三图可以得出;当你需要修改某个文件的代码时,不能马上定位到文件所在位置,需花时间找到目标文件;当你需要打开工程文件时,需在工程文件所在文件夹里慢慢查找;当你需在编译生成文件夹中找到可执行文件,也是不能一眼就看到它,需花时间查找。这样的工程管理是杂乱无章的,非常不利于维护。
为了解决以上问题。需要对代码进行整理和编辑.pro文件;首先把代码归纳成功能模块,每一个功能模块对于一个文件夹,把代码放在对应的文件夹中。然后把文件夹里的代码添加到工程中;这样做后的效果如下两图所示:
代码整理完后,就可以编辑.pro文件;编辑.pro文件到达到两个目标,一个是让编译器编译时找到代码所在的路径,一个是设置存储编译器编译后产生文件的路径;
要让编译器编译时找到对应的代码,一种方法是在代码中包含头文件的路径。一种是修改.pro文件。修改.pro文件时,根据上面介绍的关键字,可知需要定义INCLUDEPATH关键字;把头文件的路径赋值给INCLUDEPATH关键字,有两种赋值方式,一种是用头文件的绝对路径,一种是添加头文件的相对路径。为方便工程代码的移植和拷贝,建议添加相对路径。相对路径就是$PWD+文件夹名;当然文件夹名是和.pro文件在同一级目录下的。INCLUDEPATH的赋值如下图所示:
要设置存储编译器编译后产生文件的路径。主要是设置四种编译产生文件的路径,在.pro文件中添加如下四个关键字的设置:
l OBJECTS_DIR += ./obj
l MOC_DIR += ./moc
l UI_DIR += ./ui
l RCC_DIR += ./rc
在设置路径时,也可以用绝对路径和相对路径。为了方便移植和拷贝,建议采用相对路径的形式设置。编译后如下图所示:
从图7中就可以看出编译后可执行文件和编译产物就一目了然了!
请关注“程序猿的自我修炼”,我们一起来修炼吧,成为中心目的大神!
本文暂时没有评论,来添加一个吧(●'◡'●)