Qt Creator 工程管理

Qt Creator以工程项目的方式对源码进行管理。一个Qt Creator工程包含不同类型的文件,各个文件的简单描述如下所示:

  • .pro:项目描述文件
  • .pro.user:用户配置描述文件
  • .h:头文件
  • .cpp:源文件
  • .ui:界面描述文件
  • 资源文件(图片、音频、等)

    用Qt Creator新建一个项目工程时会默认生产一个.pro文件。.pro文件是用于配置和组织整个项目的相关信息,配置编译生产文件的路径,组织各个用于需编译的文件路径等信息。默认生产的.pro文件只适合管理简单工程;对于复杂的实际项目,自动生成的.pro文件来管理工程就显得有点吃力。因此就需要编辑.pro文件,使其适合管理实际工程项目;为了编辑.pro文件,就得学习了解.pro文件中的关键字;.pro文件关键字如下所示:

  • #:注释起始符
  • QT:模块声明
  • TARGET:可执行文件名
  • TEMPLATE:程序模板声明
  • SOURCES:源码文件声明
  • HEADERS:头文件声明
  • FORMS:界面文件声明
  • RC_FILE:资源文件声明
  • INCLUDEPATH:头文件搜索路径
  • CONFIG:设定项目的配置信息和编译选项
  • LIBS:添加第三方库文件
  • DEFINES:定义编译宏
  • OBJECTS_DIR:用于设置obj文件生成路径;
  • MOC_DIR :指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)。
  • UI_DIR:指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录)。
  • RCC_DIR:指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)。

在编辑.pro文件管理实际工程项目前,我们先来看看用默认生产的.pro文件管理工程代码的效果。工程代码文件夹树、工程文件所在文件夹和编译生成文件所在文件夹分别如下几图所示:

                                                           

                                                                             图1工程代码文件夹树

                                                                             图2工程文件所在文件夹

                                                                             图3编译生成文件所在文件夹

       以上三图可以得出;当你需要修改某个文件的代码时,不能马上定位到文件所在位置,需花时间找到目标文件;当你需要打开工程文件时,需在工程文件所在文件夹里慢慢查找;当你需在编译生成文件夹中找到可执行文件,也是不能一眼就看到它,需花时间查找。这样的工程管理是杂乱无章的,非常不利于维护。

       为了解决以上问题。需要对代码进行整理和编辑.pro文件;首先把代码归纳成功能模块,每一个功能模块对于一个文件夹,把代码放在对应的文件夹中。然后把文件夹里的代码添加到工程中;这样做后的效果如下两图所示:

                                                                   图4代码和工程文件所在文件夹

                                                          

                                                                            图5工程代码文件夹树

        代码整理完后,就可以编辑.pro文件;编辑.pro文件到达到两个目标,一个是让编译器编译时找到代码所在的路径,一个是设置存储编译器编译后产生文件的路径;

       要让编译器编译时找到对应的代码,一种方法是在代码中包含头文件的路径。一种是修改.pro文件。修改.pro文件时,根据上面介绍的关键字,可知需要定义INCLUDEPATH关键字;把头文件的路径赋值给INCLUDEPATH关键字,有两种赋值方式,一种是用头文件的绝对路径,一种是添加头文件的相对路径。为方便工程代码的移植和拷贝,建议添加相对路径。相对路径就是$$PWD+文件夹名;当然文件夹名是和.pro文件在同一级目录下的。INCLUDEPATH的赋值如下图所示:

                                                            

                                                                               图6 INCLUDEPATH关键字的赋值

       要设置存储编译器编译后产生文件的路径。主要是设置四种编译产生文件的路径,在.pro文件中添加如下四个关键字的设置:

  • OBJECTS_DIR += ./obj
  • MOC_DIR += ./moc
  • UI_DIR   += ./ui
  • RCC_DIR  += ./rc

在设置路径时,也可以用绝对路径和相对路径。为了方便移植和拷贝,建议采用相对路径的形式设置。编译后如下图所示:

                                                                图7 编译生成产物文件夹

 

从图7中就可以看出编译后可执行文件和编译产物就一目了然了!这样就非常有利于后期维护和升级!

 

发布了16 篇原创文章 · 获赞 1 · 访问量 2949

猜你喜欢

转载自blog.csdn.net/liqingjielihanjie/article/details/102987867
今日推荐