参考
https://blog.csdn.net/qq_45014727/article/details/123616733
DEFINES += CONDITION
contains(DEFINES, CONDITION){
message(Exist.)
}else{
message(Not exist.)
}
以上 QMAKE 规则将在执行 qmake 时打印 “Exist.”,注释掉 DEFINES += CONDITION 将打印“Not exist.”
DEFINES出的变量可以在工程下的所有源文件中使用,用于 c/c++ 的条件编译,如:
#ifdef CONDITION
/* do something... */
#else
/* do something... */
#endif
QT.pro文件 LIBS用法详解
LIBS的使用说的很清楚了,就是-L指定库的目录,而-l指定库的名字(如果是在Linux下,则去掉lib和后缀名,windows下去掉后缀名即可),静态库、动态库都是一样的。但是它没说的是,如果使用相对路径,而库又想要被程序找的到,那么这个相对路径指的是执行程序生成的位置于库的相对路径,因为QT编译时会把生成路径放在和项目相同目录下的另一个文件夹中,那么也就是说,我们必须把库拷贝到编译生成的目录下才行(这里解释一下,可能是受VC的影响,VC中编译生成目录默认是在项目根目录下的,所以养成了习惯,误以为在Qt中也是把库放在根目录下就可以了,其实这是错的)。
如果不想把库拷贝到编译输出目录,那么也可以指定绝对路径。下面是两种方式的对比:
参考如下链接: