Qt,qmake,pro文件:将编译器名称添加到目标名称

时间:2015-11-06 07:32:55

标签: qt qmake

我想在.pro文件中将Qt版本和编译器版本添加到目标中,如下所示:

msvc=$$basename(QMAKESPEC)
TARGET = Appname_Qt$${QT_VERSION}_$$msvc
message($$msvc)
message($$TARGET)

结果(消息输出)是:

Project MESSAGE: win32-msvc2008
Project MESSAGE: Appname_Qt4.7.1_win32-msvc2008

但目标输出(文件名)是:

Appname_Qt4.7.1_

错过了编译器名称(版本)。我该如何解决这个问题? 非常感谢你!

// ----更新--------- 我尝试过:

msvc=$$basename(QMAKESPEC)
msvcx=abcd
TARGET = Appname_Qt$${QT_VERSION}_$$msvcx
message($$msvc)
message($$TARGET)

,目标输出(文件名)为:

Appname_Qt4.7.1_abcd

(正确的)

1 个答案:

答案 0 :(得分:1)

您不能这样做:在qmake运行时,编译器和Qt版本已经修复:它们是用于构建有问题的qmake的。

编译器和Qt版本在Qt构建时确定。您可以通过运行正确的qmake可执行文件来选择要使用的Qt版本/编译器组合。

假设您安装了VS 2012和VS 2015以及Qt 4.8和5.5,以下组合:

  1. VS2012 + Qt 4.8
  2. VS2012 + Qt 5.5
  3. VS2015 + Qt 5.5
  4. 您在每个版本中都有qmake.exe。它们中的每一个都将生成一个使用正确的编译器和Qt版本的makefile。此外,您必须在将给定编译器配置为路径的环境中启动qmake:您必须在运行vcvars之前运行qmake。每次开始vcvarsqmake之前,Qt Creator会自动为您运行nmake/jom