学习Qt时,发现有些知识看了不经常⽤就忘了,以下是书本上写的⼀些关于qmake的相关知识,⾃⼰看后,打算把⼀些经常⽤到的记下来,整理整理。
Qt程序⼀般使⽤Qt提供的qmake⼯具来编译。
qmake⼯具可以使⽤与平台⽆关的.pro⽂件⽣成与平台相关的makefile。该⼯具包含了调⽤Qt内置代码⽣成⼯具(moc,uic,rcc)的必要逻辑规则。
可以在命令⾏下,输⼊qmake -project来⽣成平台⽆关的pro⽂件。
⼯程⽂件pro主要分为三种:app(单独的应⽤程序),lib(静态和动态库),subdirs(递归编译)。⼯程类型可以使⽤TEMPLATE变量来指定。
如: TEMPLATE = app(默认不指定的情况下是app⼯程)
对于app⼯程或者lib⼯程,有以下这些经常使⽤的变量:HEADERS:指定C++头⽂件SOURCES:指定C++实现⽂件FORMS:指定需要uic处理的ui⽂件RESOURCES:指定需要rcc处理的qrc⽂件DEFINES:指定预定义预处理器符号
INCLUDEPATH:指定C++编译器搜索头⽂件路径LIBS:指定⼯程要链接的库CONFIG:指定⼯程配置和编译参数QT:指定⼯程所要使⽤的Qt模块VERSION:指定⽬标库版本号
TARGET:指定可执⾏⽂件或库的基本⽂件名,默认为当前⽬录名DESTDIR:指定可执⾏⽂件放置的⽬录DLLDESTDIR:指定⽬标库⽂件放置的⽬录
CONFIG:指定⼯程配置和编译参数以下对CONFIG变量做主要介绍:
debug:编译有调试信息的可执⾏⽂件或则库
release:编译不具有调试信息可执⾏⽂件或者库(如果同时指定debug release时,只有debug有效)warn_off:关闭⼤量警告,默认是打开的qt:指应⽤程序使⽤Qtdll:动态编译库staticlib:静态编译库plugin:编译⼀个插件
console:应⽤程序需要写控制台当我们写CONFIG变量时,可以使⽤如:CONFIG = qt release warn_off
或者CONFIG = qt CONFIG += release CONFIG += warn_off
当想要移除某个设置时:CONFIG -= warn_off
在pro⽂件⾥,可以使varName或者varName或者
{varName}来访问⾃⼰定义的变量,如
MyVersion = 1.2FILE = 1.cpp
TARGET = improve$${MyVersion}SOURCES = $$FILE
pro⽂件⾥,访问环境变量的⽤法是:$(varName)pro⽂件⾥,访问Qt配置参数的⽤法:$$[varName]
在不同的编译平台上编译时,需要设定条件。如:win32{
SOURCES += 1.cpp}else{
SOURCES += 2.cpp}或者
win32:SOURCES += 3.cpp
因篇幅问题不能全部显示,请点此查看更多更全内容