我想在.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
(正确的)
答案 0 :(得分:1)
您不能这样做:在qmake
运行时,编译器和Qt版本已经修复:它们是用于构建有问题的qmake
的。
编译器和Qt版本在Qt构建时确定。您可以通过运行正确的qmake
可执行文件来选择要使用的Qt版本/编译器组合。
假设您安装了VS 2012和VS 2015以及Qt 4.8和5.5,以下组合:
您在每个版本中都有qmake.exe
。它们中的每一个都将生成一个使用正确的编译器和Qt版本的makefile。此外,您必须在将给定编译器配置为路径的环境中启动qmake
:您必须在运行vcvars
之前运行qmake
。每次开始vcvars
或qmake
之前,Qt Creator会自动为您运行nmake/jom
。