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 篇原創文章 · 獲贊 3 · 訪問量 4580
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章