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

已配置Emscripten环境,QtCreator仍无法识别编译器求助

解决Qt Creator无法识别Emscripten编译器的问题

我之前也遇到过一模一样的问题,折腾了好一阵才搞定,给你几个针对性的解决步骤,应该能帮你排查:

1. 确保Qt Creator完全继承Emscripten的环境变量

这是最常见的问题——你在终端里执行emsdk_env.sh后打开Qt Creator,但如果Qt Creator是通过桌面快捷方式或者系统启动器打开的,它并不会继承终端里的环境变量。解决方法:

  • 直接在执行完emsdk_env.sh的终端里启动Qt Creator,执行命令:qtcreator &(如果qtcreator不在你的PATH里,就用完整路径,比如/opt/Qt/Tools/QtCreator/bin/qtcreator &)。这样Qt Creator会完整继承当前终端的所有Emscripten环境变量。
  • 如果习惯用桌面快捷方式,修改快捷方式的启动命令:把原来的qtcreator改成bash -c "source /path/to/your/emsdk-master/emsdk_env.sh && qtcreator",替换成你实际的emsdk路径。

2. 手动配置编译器时用完整路径

手动添加编译器时,不要只填em++,而是直接用它的完整绝对路径:

  • 打开Qt Creator的「工具」->「选项」->「Kits」->「编译器」,点击添加->C++编译器,类型选Clang。
  • 在「命令」栏里填入em++的完整路径,比如/home/your-username/emsdk-master/upstream/emscripten/em++,然后点击「应用」。
  • 同样添加C编译器,选Clang,命令填emcc的完整路径。
  • 回到「工具包」选项卡,选中你的WebAssembly工具包,在「编译器」下拉框里选择刚才添加的em编译器,不要选其他clang变体(比如wasm-32-wasi-clang,这个是WASI SDK的,和Emscripten不是一套)。

3. 检查~/.emscripten文件的正确性

Qt Creator会读取这个文件来定位Emscripten,所以确保里面的路径正确:

  • 打开~/.emscripten,找到EMSCRIPTEN_ROOT这一行,确认它指向的是你emsdk里的emscripten目录,比如:
    EMSCRIPTEN_ROOT = '/home/your-username/emsdk-master/upstream/emscripten'
    
    如果路径错误,手动修正后保存,然后重启Qt Creator。

4. 验证Qt Creator的环境变量

确认Qt Creator真的拿到了Emscripten的环境:

  • 打开「工具」->「选项」->「环境」->「系统环境」,搜索PATH,检查是否包含emsdk-master/upstream/emscripten和emsdk-master/upstream/bin这两个路径。
  • 也可以在Qt Creator内置的终端里执行em++ --version,如果能正常输出版本信息,说明环境已经加载成功。

按照这些步骤走下来,应该就能解决「Cannot run target compiler 'em++'」的错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 00:42:41