Qt學習(一)
moc(Meta-Object Compiler)
Qt在將源碼交給標準C++編譯器之前,需要將擴展語法去掉,完成這一操作的就是moc,它就是一個源碼分析程序,生成一個新的cpp文件,文件名會加上moc_前綴,新文件會和舊文件一起進入編譯系統,最終被鏈接到二進制代碼中去。
uic
Qt GUI工具包的用戶界面編譯器,uic讀取由Qt Designer生成的XML格式的.ui文件,並創建一個相應的C++頭文件。
qmake
生成Makefile;生成各種工程文件;生成vs可以使用的項目文件;自動解決依賴關系,不用手工編寫Makefile;跨平臺。
qmake還可以在非qt工程中使用 CONFIG -= qt
變量:
SOURCES
HEADERS
TARGET 指定生成的應用程序名
CONFIG +qt qmake會在鏈接的時候添加相關庫,並保證moc和uic的連編行也被包含到Makefile中
+debug 生成調試信息
TEMPLATE
app 建立一個應用程序的makefile 默認
lib 建立一個庫的makefile
vcapp 應用程序的vs項目文件
vclib 庫的vs項目文件
subdirs
DESTDIR += ../bin 指定生成的應用程序放置的目錄
UI_DIR 指定uic命令將.ui文件轉化成ui_*.h文件的存放目錄
RCC_DIR 指定rcc命令將.qrc文件轉換成qrc_*.h文件的存放目錄
MOC_DIR 指定moc命令將Q_OBJECT的頭文件轉換成標準.h文件的存放目錄
OBJECTS_DIR 指定obj文件的存放目錄
DEPENDPATH 程序編譯時依賴的相關路徑
INCLUDEPATH 頭文件包含路徑
CODECFORSRC = GBK 源文件編碼方式
LIB += -L path 引入的lib文件的路徑
DEFINES += XX_XX_XXX 定義編譯選項 在.h文件中就可以使用:#define xx_xx_xxx
win32{//添加特定平臺文件
SOURCES += hello_win.cpp
}
!existe( main.cpp ){//文件不存在時,停止qmake
error("No main.cpp file found")
}
《完》
本文出自 “零蛋蛋” 博客,謝絕轉載!
Qt學習(一)