在qmake中配置变量DESTDIR

cak*_*ake 9 qmake build

我正在使用qmake来构建我的项目.我一直在尝试设置qmake的DESTIR变量,其值取决于所使用的编译器.实际上,我希望我的项目的二进制文件在构建之后放在一个目录中,该目录具有用于构建它的编译器的名称.

像这样......我的项目的当前目录树是

- Project
| - src
| - include
| - bin
| |- binary_file

我希望它是这样的

- Project
| - src
| - include
| - bin
| | - gcc-4.3.4
| | |- binary_file

我可以使用qmake吗?

Tat*_*ela 10

在src/src.pro文件中,或在您设置DESTDIR的任何位置

# compiler used
QMAKE_CXX = g++-4.3
# PROJECT_ROOT defined in .qmake.cache as $$PWD, in the Project root directory
DESTDIR = $$PROJECT_ROOT/bin/$$QMAKE_CXX/
Run Code Online (Sandbox Code Playgroud)

如果您不想设置编译器版本,则可以动态查询它.我不知道是否有任何通用的c ++/qmake解决方案,但使用g ++你可以使用-dumpversion:

CXX_VERSION = $$system($$QMAKE_CXX -dumpversion)
DESTDIR=$$PROJECT_ROOT/bin/$$QMAKE_CXX-$$CXX_VERSION/
Run Code Online (Sandbox Code Playgroud)