9

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

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

- 项目
| - 源代码
| - 包括
| - 斌
| |- 二进制文件

我希望它是这样的

- 项目
| - 源代码
| - 包括
| - 斌
| | - gcc-4.3.4
| | |- 二进制文件

我可以使用 qmake 做到这一点吗?

4

1 回答 1

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/

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

CXX_VERSION = $$system($$QMAKE_CXX -dumpversion)
DESTDIR=$$PROJECT_ROOT/bin/$$QMAKE_CXX-$$CXX_VERSION/
于 2010-03-26T08:33:31.203 回答