平台区分
#平台区分
win32 {}
macx {}
unix {}
#根据平台位数加载
win32 {
contains(DEFINES, WIN64) {} else {}
}
#编译器位数区分
contains(QT_ARCH, i386) {
message("32-bit")
DESTDIR = $${PWD}/bin32
} else {
message("64-bit")
DESTDIR = $${PWD}/bin64
}
#编译类型区分:debug与release
CONFIG(debug,debug|release){
message("debug")
}
CONFIG(release,debug|release){
message("release")
}
#判断Qt版本
QT_VERSION = $$[QT_VERSION]
QT_VERSION = $$split(QT_VERSION, ".")
QT_VER_MAJ = $$member(QT_VERSION, 0)
QT_VER_MIN = $$member(QT_VERSION, 1)
greaterThan(QT_VER_MAJ, 4) {
greaterThan(QT_VER_MIN, 9) {
message(Qt版本大于5.9)
} else {
message(Qt版本为5.0 - 5.9)
}
} else {
lessThan(QT_VER_MIN, 9) {
message(Qt版本小于4.9)
} else {
message(Qt版本为4.9 - 5.0(不包含5.0))
}
}
equals(QT_VER_MAJ ,5) | equals(QT_VER_MIN ,9) {
message(Qt版本为5.9)
}
#指定编译文件生成的目录
UI_DIR = temp/Gui #UI中间文件生成目录
MOC_DIR = temp/Moc #moc中间文件生成目录
RCC_DIR = temp/rcc #资源文件中间文件生成目录
OBJECTS_DIR = temp/Obj #指定目标文件(obj)的存放目录
DESTDIR = $${PWD}/bin32 #指定生成的应用程序放置的目录
UI_DIR = temp/Gui #UI中间文件生成目录
MOC_DIR = temp/Moc #moc中间文件生成目录
RCC_DIR = temp/rcc #资源文件中间文件生成目录
OBJECTS_DIR = temp/Obj #指定目标文件(obj)的存放目录
DESTDIR = $${PWD}/bin32 #指定生成的应用程序放置的目录
#pro包含使用pri封装的模块
include(module/MyButton/MyButton.pri)
#遍历添加某个文件目录下的静态库
#添加头文件路径
INCLUDEPATH += \
#添加静态库的文件路径
addLibFiles += \
for(var, allLibFiles) {
myLibs += $$files($$join(var, , , '/*.lib'), true)
for(myLib, myLibs){
filePath = $$dirname(myLib)
fileName = $$basename(myLib)
fileName = $$replace(fileName , '\.lib',)
LIBS += -L$$filePath -l$$fileName
}
}