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

Linux下使用Qt Creator向Windows交叉编译报错求助

问题分析与解决方案

核心问题

报错的本质不是MinGW版本不对,而是你当前使用的Qt 6.4.1是Linux平台的预编译版本(标识为x86-linux-generic-elf-64bit),它只能配合Linux本地编译器生成Linux程序,和你用来交叉编译Windows的MinGW工具链(标识为x86-windows-msys-pe-64bit)完全不匹配。

不需要更换MinGW版本

你当前安装的x86_64-w64-mingw32-g++是Linux下交叉编译Windows 64位程序的标准工具链,只要能正常编译普通C++程序(比如用x86_64-w64-mingw32-g++ test.cpp -o test.exe测试,输出的test.exe应为Windows PE格式),就不需要更换版本。

正确解决步骤

  1. 安装/编译Windows目标的Qt版本

    • 若使用Qt Maintenance Tool:在安装组件时,不要选Linux平台的Qt 6.4.1,要选择对应x86_64-w64-mingw32架构的Qt 6.4.1交叉编译版本(部分发行版的Qt官方源可能提供预编译包)。
    • 若没有预编译包,手动从源码编译Qt:
      1. 确保MinGW工具链完整,比如Ubuntu下安装gcc-mingw-w64-x86-64、g++-mingw-w64-x86-64包。
      2. 下载Qt 6.4.1源码,创建编译目录并配置:
        mkdir build-qt-mingw && cd build-qt-mingw
        ../configure -prefix /opt/qt6-mingw -xplatform win32-g++ -device-option CROSS_COMPILE=x86_64-w64-mingw32- -opensource -confirm-license
        
      3. 编译并安装:
        make -j$(nproc)
        make install
        
  2. 配置Qt Creator

    • 在Qt Creator的工具链设置中,确认已添加你的MinGW交叉编译器(x86_64-w64-mingw32-g++)。
    • 添加刚安装/编译完成的Windows目标Qt版本,将其与MinGW交叉工具链绑定,确保项目构建时使用的是这个配对组合,而非原来的Linux本地Qt版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:01:09