Qt Creator报“cannot find qmake”而终端可用,说明其不读系统PATH,需在Tools→Options→Kits→Qt Versions中手动添加which qmake返回的完整qmake可执行文件路径,避免选错目录、含中文/空格或版本不匹配。

qmake命令在终端能运行,但Qt Creator里报“cannot find qmake”
说明系统PATH没问题,但Qt Creator压根不读你的$PATH。它只认自己配置表里的路径。
打开 Tools → Options → Kits → Qt Versions,点击右下角“Add”,手动指向你终端里which qmake返回的那个路径(比如/home/user/Qt/6.7.0/gcc_64/bin/qmake)。别选错目录——必须是qmake可执行文件本身,不是bin文件夹。
常见坑:
- 点“Browse”时误选了
bin目录,而不是qmake文件 - 路径里有中文或空格(如
/home/张三/Qt/...),Qt Creator会静默失败 - 选了Qt 5的
qmake却想配Qt 6的Kit,版本不匹配导致后续构建出错
Qt Creator里Kit显示“unconfigured”,且Qt Versions列表为空
这通常不是路径问题,而是qmake本身无法正常响应。先验证它是否真能工作:
在终端执行:qmake -v。如果报错version `GLIBC_2.34' not found,说明你用的是高版本交叉编译工具链(比如Qt 6.5+ for aarch64),但宿主机glibc太旧(Ubuntu 20.04默认只有GLIBC_2.31)。
此时手动添加路径没用——Qt Creator加载qmake时会直接崩溃。解决方式只有两个:
- 换用glibc兼容的Qt版本(比如Qt 5.15.2官方预编译包)
- 升级宿主机系统(如迁移到Ubuntu 22.04或24.04)
别试图用patchelf硬改依赖,qmake内部有大量符号绑定,极易触发段错误。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
.pro文件改了,但Qt Creator构建时完全不调用qmake
Qt Creator默认跳过qmake,除非你明确告诉它要重生成Makefile。它不会因为你保存了.pro就自动跑一次。
必须做以下任一操作:
- 菜单栏点 Build → Run qmake(快捷键
Ctrl+Shift+Q) - 进入 Projects → Build Settings → qmake,勾选 Always run qmake before building
注意:如果你用的是Shadow Build(默认开启),qmake实际操作的是构建目录下的副本,不是你编辑的原始.pro。所以改完源文件后,一定要触发一次Run qmake,否则所有改动都无效。
VSCode里提示“qmake not found”,但终端能用
VSCode启动时继承的是登录Shell的环境变量,不是你当前终端的$PATH。尤其当你用source ~/.zshrc临时加了PATH,VSCode根本看不到。
解决方法很简单:关掉所有VSCode窗口,然后从终端启动它——code .。这样它就能拿到当前Shell的完整环境。
如果仍不行,检查tasks.json里是否硬编码了错误路径,比如写成"qmake": "qmake"却没确认它是否在PATH里;更稳妥的是写绝对路径:"qmake": "/home/user/Qt/6.7.0/gcc_64/bin/qmake"。
多Qt版本共存时,qt-cpp-tools插件有时会自动选错qmake(比如选了Qt 5的却去找Qt 6的mkspecs),这时必须在c_cpp_properties.json里显式指定qtPath。

















