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

首次使用Qt Creator运行项目时Makefile报错的解决咨询

搞定Qt Creator构建时的Makefile目标模式错误

嘿,我帮你分析下这个问题——你遇到的是Qt Creator生成的Makefile里残留了没解析完的JS模板变量,导致make直接懵了。下面给你几个靠谱的解决办法:

1. 先清干净旧文件再重来

  • 先关掉Qt Creator,找到项目文件夹,把那个名字奇怪的%{JS: Util.asciify("build-test-Desktop-Debug")}目录删掉
  • 重新打开Qt Creator,点顶部菜单栏的Build → Clean All,把旧的构建缓存清干净
  • 接着点Build → Run qmake,让Creator重新生成正确的Makefile
  • 最后再点运行试试

2. 检查构建路径的配置

  • 点开左侧的项目面板,选中你的Desktop套件
  • 看看Build Directory那栏,估计是这里的模板变量没解析成功,才生成了奇怪的路径
  • 你可以手动改成一个简单的路径,比如../build-test-Debug,别用那些JS模板语法,改完再重新跑qmake和构建

3. 确认Qt Creator和Qt版本是否兼容

  • 你用的是Qt 4,有些新版本的Qt Creator对Qt 4的模板支持可能有bug
  • 要是可以的话,要么换个适配Qt 4的Creator版本,要么把项目升级到Qt 5/6(如果项目允许的话)

4. 手动改Makefile救急(临时方案)

如果上面的方法暂时不管用,你可以直接改Makefile:

  • 打开出错的Makefile,找到第100行和106行
  • 把里面的%{JS:\ Util.asciify(build-test-Desktop-Debug)}换成实际的构建目录名(就是Creator生成的那个目录,去掉模板语法,比如build-test-Desktop-Debug)
  • 保存后再执行make就能跑起来了

为啥会出这问题?

说白了就是Qt Creator在生成构建路径的时候,没把Util.asciify()这个JS模板表达式解析成正常的目录名,反而把原始模板字符串直接写到Makefile里了。make根本不认识这种语法,所以就报错说目标模式不对啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:48:17