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")
}
《完》