qmake常用的一些变量和这些变量的使用

在使用qmake编译的项目中,经常用到一些变量,这些变量便于我们构建整个项目。我这里列举一些常用的,特别是Windows平台下的。

DESTDIR

指定目标文件的生成位置,其实就是将DLL文件或者EXE文件重新定义一个生成的位置,如果指定了这个位置,原本的输出目录(放中间文件的地方)不会再出现生成的DLL或者EXE文件。

举例:DESTDIR = ../../lib

DLLDESTDIR

只支持Windows环境,这个变量指定了拷贝目标文件的位置。这个实际作用与DESTDIR类似,只不过它可以指定多个位置,并且它支持拷贝生成的DLL或者EXE文件,原有的输出目录同样会有这个文件。

举例:DLLDESTDIR += D:\mydll\ D:\mydll2\

INCLUDEPATH

指定当编译项目时,#include所包含的头文件应该查找的位置。

举例:INCLUDEPATH += C:/msdev/include

这里需要说明一个路径的问题,在.pro文件内的所有路径不能带有空格,如果有空格需要将其包含在双引号内。

举例: win32:INCLUDEPATH += “/my libs/include”

LIBS

指定应链接到项目的库。

举例:unix: LIBS += -L/user/local/lib -lmath

win32: LIBS += c:/mylibs/math.lib

当然,你也可以在windows下使用Unix风格的方法,就是用-l(库文件名,不带后缀),-L(库的路径)。我更喜欢这样的方式,因为不必要关心是.lib文件还是.dll文件。

PWD

当前文件的完整目录,对于在.pro(好像也只能在.pro文件使用,我不知道),就是这个.pro文件的完整的绝对路径。这个变量很有用,也经常使用。

OUT_PWD

这个是qmake生成的Makefile的完整路径,说的有点奇怪,其实就是输出目录的路径。这个变量也很有用,使用它,我可以在多个项目的项目中指定库的目录。

QT

指定你的项目用到的Qt模块。

SUBDIRS

当你创建subdirs(子目录)项目的时候,用它来指定子项目的路径。

这里说明一点,如果你的子项目的目录文件夹名与.pro文件名不同,则无法将这个项目包含进你的子目录项目中。通常是一样的,除非你认为更改了文件夹名。

TARGET

指定目标文件的名称,也就是生成的.dll或者.exe文件的名称。

RC_ICONS

只支持Windows(macOS使用ICONS)指定应用程序的图标,就是.exe文件的图标。

举例:RC_ICONS = myappico.ico

发表评论

电子邮件地址不会被公开。 必填项已用*标注