在 .pro 中更改构建目录

Change building directory in .pro

如何更改qt项目文件中的构建目录?我试过这个:

TARGET = project
win32: {
    CONFIG(release, debug|release): DLLDESTDIR +=  $$PWD/../lib
}
unix: {
    CONFIG(release, debug|release): QMAKE_POST_LINK += $$quote(cp project $$PWD/../lib)
}

但这并没有给出结果:(

发现了一些类似的东西:DESTDIR 参数。但是,此选项仅对可执行文件负责。以及如何传输所有文件?

而 QtCreator 有一个 single setting for the generated output, in order to achieve the same with qmake you have to specify some more variables, look at the ones ending in DIR specified in the qmake variables overview

我也可以从 these answers 那里得到一个很好的概述。

更新:从未尝试过,但请 $$OUT_PWD 尝试第一篇博文中提到的。

UPDATE2:没关系,docs state Note: Do not attempt to overwrite the value of this variable.

感谢@BNT 的帮助。

CONFIG(debug, debug|release) {
  DESTDIR = $$PWD/../debug/lib
} else {
  DESTDIR = $$PWD/../lib
}

OBJECTS_DIR = $${DESTDIR}/.obj
MOC_DIR = $${DESTDIR}/.moc
RCC_DIR = $${DESTDIR}/.rcc
UI_DIR = $${DESTDIR}/.ui

其中 DESTDIR 是可执行文件的文件夹。

但是Makefile中这样的方式不能动。它有一个专用常量,在文档中,正如@BNT 已经注意到的那样,它是这样写的:

Note: Do not attempt to overwrite the value of this variable.