在.pro文件中强制使用QT的特定版本

在.pro文件中强制使用QT的特定版本,qt,qmake,Qt,Qmake,我正在寻找一种在.pro文件中强制使用QT特定版本的方法。更具体地说,我想强制qmake在我的项目中只使用qt5.x版本,而不是qt4.x和qt5.x 有没有办法做到这一点 PS:我不是在问停止/停止编译过程的方法(也就是检查QT版本,如果低于5.x,就抛出qFatal/equired)。我正在寻找一种方法,在使用qmake生成Makefile时,实际选择要使用的版本。我真的怀疑您能否做到这一点qmake是框架的一部分,与库一起使用。当你说特定verion的Qt时,你指的是库,但这是不正确的 要

我正在寻找一种在.pro文件中强制使用QT特定版本的方法。更具体地说,我想强制
qmake
在我的项目中只使用qt5.x版本,而不是qt4.x和qt5.x

有没有办法做到这一点


PS:我不是在问停止/停止编译过程的方法(也就是检查QT版本,如果低于5.x,就抛出qFatal/equired)。我正在寻找一种方法,在使用
qmake

生成
Makefile
时,实际选择要使用的版本。我真的怀疑您能否做到这一点
qmake
是框架的一部分,与库一起使用。当你说特定verion的Qt时,你指的是库,但这是不正确的


要使用Qt的特定版本,实际上需要运行不同版本的
qmake
。如果您使用的是QtCreator-您应该在项目的选项中选择它,否则-键入文件的绝对路径
qmake
。您可以找到Qt
qmake使用的是哪个版本,您可以键入
qmake--version

正如Amartel在回答中所写,您应该指向正确的qmake版本(通过在控制台中键入
qmake--version
进行检查)

这可能是因为您的项目是使用错误的qmake可执行文件生成的,即使您发出nmake clean或make clean命令,某些文件也不会被删除


检查清理后的源目录树中是否没有Makefile(这些文件通常包含要使用的qt版本的路径,如果没有正确地重新生成,则会指向错误的qt版本)。

如果用户使用您不希望他使用的版本运行qmake,则可能会引发错误。例:

lessThan(QT_MAJOR_VERSION, 5): error("requires Qt 5")

这就是我的想法,但是我正在运行qmake-qt5,并且我仍然得到一个使用qt4的Makefile!(我今天下午会再检查三次,只是为了确定,但这是我从昨天的测试中看到的最后一件事)这很奇怪。试试这个:1。在项目目录中打开终端。2.运行
qmake-qt5--version
以确保使用的是正确的Qt版本。3.运行
qmake-qt5&&make-clean&&make
4。转到你的应用程序并检查依赖项(
ldd
linux中的命令)。这是你要的日志。它确实将qt4与qmake-qt5一起使用。真奇怪。