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

如何在MinGW64环境下编译包含Qt6库的C++代码?

问题解决方案

1. 确认运行终端类型

你使用的必须是MSYS2自带的MinGW 64-bit 终端,不能使用默认的MSYS终端:两个终端的环境变量不同,默认MSYS终端调用的是原生MSYS的gcc工具链,无法匹配mingw-w64版本的Qt6库,会直接报头文件、库文件找不到的错误。

2. 修正编译命令格式

你当前的g++命令被拆分为两行,没有加bash续行符\,执行时第二行参数会被识别为独立命令,直接报错。可以选择两种修正方式:

  • 所有参数合并为同一行执行:
    g++ version.cpp -o version -I/mingw64/include/qt6/QtCore -I/mingw64/include/qt6 -I/mingw64/lib/qt6 -lQt6Core -fPIC -DQT_CORE_LIB
    
  • 每行末尾添加续行符\再执行:
    g++ version.cpp -o version -I/mingw64/include/qt6/QtCore \
    -I/mingw64/include/qt6 -I/mingw64/lib/qt6 -lQt6Core -fPIC -DQT_CORE_LIB
    

这里额外新增的-DQT_CORE_LIB是Qt6要求的编译宏,缺失会触发头文件内的语法、导入导出规则错误。

3. 更稳定的Qt程序编译方式

手动指定头文件、库参数容易出错,推荐直接使用Qt官方配套的qmake工具自动生成编译配置:

  1. 同version.cpp目录下新建qt_test.pro文件,写入以下内容:
    QT += core
    CONFIG += console
    SOURCES += version.cpp
    
  2. 在MinGW 64-bit终端依次执行以下命令:
    qmake qt_test.pro
    make
    

编译完成后直接运行生成的version.exe即可正常输出Qt版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:45:05