我正在使用qmake来构建我的项目。我一直在尝试设置qmake的DESTIR变量,其值取决于所使用的编译器。实际上,我希望我的项目的二进制文件在构建之后放在一个目录中,该目录具有用于构建它的编译器的名称。
像这样......我项目的当前目录树是
- Project | - src | - include | - bin | |- binary_file
我希望它像这样
- Project | - src | - include | - bin | | - gcc-4.3.4 | | |- binary_file
我可以使用qmake吗?
答案 0 :(得分: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/