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

Windows环境下使用Intel C++编译器(ICC)编译Qt项目的问题咨询

Windows平台用Intel C++编译器编译Qt项目操作方案

核心疑问解答

  • make工具本身与编译器无绑定关系,仅负责按照Makefile中定义的规则执行对应命令,只要Makefile内正确指定编译器路径、编译链接参数,即可调用任意兼容的C++编译器完成构建。
  • 不需要手动编写通用Makefile,可直接用qmake生成基础构建规则,仅替换编译器相关配置即可实现ICC编译,无需折腾Qt Creator的Kit配置。

具体操作步骤

前置准备

确保已完成Intel oneAPI C++编译器(原ICC)的安装,且在当前终端执行过setvars.bat加载编译器环境变量,终端输入icx(新版编译器)或icl(经典ICC)可正常调用。

生成基础Makefile

不需要在Qt Creator中配置ICC构建套件,直接打开你当前使用的MinGW版本Qt的命令行终端,进入项目目录,执行qmake生成基础Makefile:

qmake your_project.pro

如果需要更简便的操作,可直接在qmake执行时传入编译器参数,无需后续手动修改Makefile:

qmake your_project.pro "CC=icx" "CXX=icx" "LINK=icx"

(可选)手动修改Makefile编译器配置

如果没有在qmake阶段传入参数,可打开生成的Makefile,找到以下变量定义,替换为ICC对应配置即可:

  • 替换CC变量为ICC路径:CC = icx(经典ICC填icl)
  • 替换CXX变量为ICC路径:CXX = icx(经典ICC填icl)
  • 替换LINK变量为ICC链接器:LINK = icx(经典ICC填xilink)
  • 删除CFLAGS、CXXFLAGS、LFLAGS中所有MinGW专属的编译、链接参数,替换为ICC支持的对应参数即可。

执行编译

直接运行make工具完成构建,可使用MinGW带的mingw32-make,也可使用nmake,make工具本身不影响编译器调用:

mingw32-make -j8

注意事项

  • Qt的moc、uic、rcc等代码生成工具与编译器无关,可直接使用现有MinGW版本Qt自带的工具,生成的C++代码ICC可正常编译。
  • 编译时避免引入MinGW的标准库路径,ICC默认使用自身或MSVC的标准库,混用会出现链接错误。
  • 如遇到Qt头文件兼容性报错,可通过添加ICC兼容编译参数解决,Qt官方头文件对主流编译器的兼容性支持较好,极少出现无法解决的语法报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:24:05