Qt 5.6与Creator搭配时qmake无法正常工作问题求助
解决Qt5.6项目构建时qmake指向Qt4的问题
你踩的这个坑我太熟了——明明装了Qt5.6,命令行里的qmake却死咬着Qt4不放,强行装Qt4的qmake只会让后续make因为版本不兼容彻底崩掉。下面给你一步步解决:
第一步:找到你的Qt5.6 qmake实际路径
Qt Creator安装的Qt一般会放在用户目录或者自定义路径里,比如默认路径可能是~/Qt5.6.0/5.6/gcc_64/bin/qmake(64位Linux的gcc版本)。你可以:
- 打开Qt Creator,进入项目的「构建和运行」设置,在「构建环境」里找到qmake的路径;
- 或者用命令行搜索:
把找到的完整路径记下来,比如我们暂时用find ~ -name qmake -path "*Qt5.6*"/home/yourname/Qt5.6.0/5.6/gcc_64/bin/qmake作为示例。
第二步:清理错误安装的Qt4 qmake
先把之前装的Qt4 qmake彻底删掉,避免干扰:
sudo apt-get remove --purge qt4-qmake
第三步:让系统默认qmake指向Qt5.6
我们通过软链接把系统的qmake指向Qt5的版本:
- 先查看当前qmake的位置:
通常会输出which qmake/usr/bin/qmake - 备份原来的链接(如果存在的话):
sudo mv /usr/bin/qmake /usr/bin/qmake_old - 创建新的软链接,把下面的路径换成你自己找到的Qt5 qmake路径:
sudo ln -s /home/yourname/Qt5.6.0/5.6/gcc_64/bin/qmake /usr/bin/qmake
第四步:验证设置是否生效
执行下面的命令,确认输出的是Qt5.6的版本信息:
qmake -v
第五步:重新构建项目
回到你的Qt项目目录,重新执行:
qmake && make
这次应该就能正常构建了。
额外小技巧(不想改全局设置的话)
如果不想修改系统全局的qmake指向,可以临时在命令行里设置环境变量,让当前会话优先使用Qt5的工具链:
export PATH=/home/yourname/Qt5.6.0/5.6/gcc_64/bin:$PATH qmake && make
这样退出终端后就会恢复原来的设置,适合偶尔用命令行构建的场景。
另外,其实直接用Qt Creator构建更省心——它会自动使用你项目配置里对应的Qt版本工具链,不用手动处理命令行的环境问题。
内容的提问来源于stack exchange,提问作者Lee Melbourne




