You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04下Qt 5.9.5突发报错求助:无法运行g++等问题

解决Qt 5.9.5突然出现的qmake函数错误与编译器调用问题

根据你描述的情况——之前正常运行的Qt项目突然报错,重装Qt也无效,结合错误信息和环境细节,我来帮你分析并解决问题:

错误原因分析

  1. 'take_first' is not a recognized replace function:这个替换函数是Qt 5.10及以上版本的qmake才支持的,而你使用的是Qt 5.9.5,说明当前系统里可能有高版本的qmake(比如通过apt安装的Qt)被优先调用了,导致高版本的配置文件(.prf)被加载,和Qt 5.9.5的qmake不兼容。
  2. Cannot run compiler 'g++':虽然终端里g++编译正常,但Qt Creator的环境变量可能没有正确加载,或者Kit配置里的编译器路径有误。

具体解决步骤

1. 检查当前qmake版本与路径

先确认系统默认调用的是不是Qt 5.9.5的qmake:

which qmake
qmake -v

如果输出的版本不是Qt 5.9.5,说明高版本的qmake优先级更高。这时需要把Qt 5.9.5的路径放到环境变量最前面:

  • 编辑你的~/.bashrc文件,添加以下内容:
    export PATH=/Qt/5.9.5/gcc_64/bin:$PATH
    export LD_LIBRARY_PATH=/Qt/5.9.5/gcc_64/lib:$LD_LIBRARY_PATH
    
  • 执行source ~/.bashrc使配置生效,然后重启Qt Creator。

2. 修正Qt Creator的Kit配置

即使环境变量正确,Qt Creator的Kit配置也可能出错:

  • 打开Qt Creator,进入Tools > Options > Kits
  • 找到你正在使用的Kit(或者新建一个正确的Kit):
    • 确认Qt Version选择的是Qt 5.9.5 gcc_64
    • 检查Compiler部分的C++编译器,点击Browse选择/usr/bin/g++-7(对应你的GCC 7.3.0)
  • 点击Apply后,重启Qt Creator。

3. 清理项目缓存并重新构建

对于已有项目:

  • 删除项目目录下的build-*文件夹(这是Qt自动生成的构建缓存)
  • 重新打开项目,执行qmake然后点击构建按钮。

新建项目时,确保创建过程中选择的是刚才配置好的Qt 5.9.5 Kit。

4. 重置qmake配置(如果以上步骤无效)

进入Qt 5.9.5的bin目录,重新生成qmake的配置:

cd /Qt/5.9.5/gcc_64/bin
./qmake -r -spec linux-g++

完成后重启Qt Creator,再尝试打开或新建项目。

额外说明

这次问题的核心是qmake版本不匹配,高版本qmake的配置文件用到了低版本不支持的函数,导致报错。虽然之前重装Qt解决过,但可能是重装后环境变量又被系统或其他软件覆盖了,所以需要彻底固定Qt 5.9.5的路径优先级。

内容的提问来源于stack exchange,提问作者Skyrider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:49:37