news 2026/10/26 18:51:07

Qt开发环境搭建:跨平台桌面应用的工程化地基

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qt开发环境搭建:跨平台桌面应用的工程化地基

1. 为什么“搭建 Qt 开发环境”这件事,比你想象中更值得花一整天认真对待

“Qt 开发环境”这六个字,听起来像一句教科书里的标准术语,但在我带过的二十多个跨平台桌面项目里,它从来不是安装几个软件就完事的流程——它是整个开发生命周期的“地基校准仪”。我见过太多人卡在第一步:装完 Qt Creator,新建一个 Widget Application,点下运行,弹出“无法找到 mingw_64.dll”;也见过某高校实验室的毕业设计团队,在交付前一周才发现所有成员的 Qt 版本、编译器链、CMake 配置不一致,导致 UI 在 Windows 上正常、在 macOS 上按钮错位、在 Linux 上直接崩溃。这些都不是玄学,而是环境变量没对齐、qmake 和 cmake 混用没厘清、静态链接与动态链接选型失当的真实后果。

核心关键词——Qt 开发环境,本质是三重契约的落地:第一重是 Qt 框架本身(版本、模块、许可证类型)与操作系统的契约;第二重是编译工具链(GCC/Clang/MSVC/MinGW)与 Qt 构建系统的契约;第三重是 IDE(Qt Creator)与开发者工作流的契约。漏掉任何一环,后续所有代码都可能变成“能编译但不能稳定运行”的半成品。它适合三类人:刚从 Python 或 Web 转向原生桌面开发的新手(需要避开“为什么我的信号槽不触发”这类底层陷阱);正在接手遗留 Qt 项目的老手(必须快速复现原始构建环境);以及为嵌入式设备或国产操作系统适配 Qt 的工程师(对交叉编译链和精简模块有硬性要求)。这不是一个“装了就能跑”的玩具,而是一套可验证、可回滚、可文档化的工程基础设施。接下来我会带你从零开始,不跳过任何一个看似琐碎却决定成败的环节——包括为什么 MinGW-w64 的线程模型必须选 win32 而非 posix,为什么 Qt 6.7 的 CMakeLists.txt 默认禁用 AUTOMOC 会引发 moc 文件缺失,以及如何用不到 20 行 shell 脚本自动检测环境一致性。

2. 整体设计思路:不做“一键安装”,只做“可验证的最小闭环”

2.1 为什么拒绝“在线安装器+默认选项”这种快捷路径

Qt 官方提供的在线安装器(qt-unified-windows-x64-4.9.2.exe)确实能 5 分钟装完,但它埋了三个隐形雷区:
第一,它默认勾选“所有组件”,包括 Qt for WebAssembly、Qt Quick 3D、Qt Automotive Suite 等与桌面开发无关的模块,单次下载体积常超 12GB,且安装后无法通过图形界面卸载特定模块,只能重装;
第二,它把 Qt 库、工具链、IDE 全部混装在一个根目录下(如C:\Qt\6.7.0\),一旦某个子版本(如mingw_11_0)被误删,整个 Qt 6.7.0 目录就失效,无法单独修复;
第三,也是最致命的——它不生成环境校验脚本。当你在三个月后接到一个 bug:“用户点击按钮时程序闪退”,你无法快速判断是 Qt 版本差异、编译器优化级别不同,还是系统缺少某个 Visual C++ 运行时。

所以我坚持采用“分层解耦+手动验证”的设计:

  • Qt 库层:只下载所需版本的离线包(如Qt6.7.0_MinGW_64bit.7z),解压到独立路径(D:\Qt\6.7.0\mingw_64),不依赖安装器注册表;
  • 工具链层:单独安装 MinGW-w64(非 Qt 自带版),明确指定x86_64-11.2.0-release-win32-seh-rt_v9-rev1.7z,确保线程模型(win32)与异常处理(seh)与 Qt 官方预编译库完全匹配;
  • IDE 层:Qt Creator 单独安装(qt-creator-12.0.2-windows-x64.exe),在设置中手动指向上述两个路径,而非让安装器自动探测;
  • 验证层:编写check-qt-env.bat脚本,自动执行qmake -v、g++ -v、qmake -query并比对关键字段,输出绿色/红色状态码。

这个设计牺牲了 3 分钟的安装时间,但换来的是:环境可快照(复制整个D:\Qt\目录即可备份)、问题可隔离(换编译器只需改 Qt Creator 设置,不影响 Qt 库)、协作可同步(把check-qt-env.bat加入 Git,新成员运行一次即知环境是否达标)。

2.2 版本选型的硬逻辑:不是越新越好,而是“生态兼容性”优先

Qt 6.x 系列存在明显的版本断层,盲目追新会踩坑。以 Qt 6.7.0 为例,它要求 C++17 编译器支持,而 MinGW-w64 11.2.0 是首个完整支持 C++17 的稳定版;但若你选 Qt 6.8.0,则需 MinGW-w64 12.2.0,而后者在 Windows 上的调试器(gdb)存在符号加载延迟问题,实测单步调试耗时增加 40%。再看 Qt 5.15.2,它是最后一个 LTS(长期支持)版本,但其 CMake 支持不完善——find_package(Qt5 REQUIRED COMPONENTS Widgets)无法自动处理Qt5::Core的私有头文件路径,导致自定义Q_OBJECT类编译失败。

因此我的版本组合策略是:

  • 桌面开发主力:Qt 6.7.0 + MinGW-w64 11.2.0 + Qt Creator 12.0.2;
  • 维护旧项目:Qt 5.15.2 + MSVC 2019 + Qt Creator 11.0.3(因 MSVC 工具链对 Qt 5 兼容性更稳);
  • 嵌入式场景:Qt 6.6.3 + ARM GCC 12.2 + Qt Creator 11.0.3(6.6.3 是首个对 ARM64 原生支持无 crash 的版本)。

这个选择背后是大量实测数据:我用同一段代码(含 QWebEngineView 和 QOpenGLWidget)在 6.5.0~6.7.0 间逐版测试,发现 6.6.2 在高 DPI 缩放下存在字体渲染模糊,6.7.0 修复了该问题,但引入了 QFileDialog 在多显示器下的坐标偏移——最终我们锁定 6.7.0,并在代码中添加QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);和QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);两行补丁。版本选型不是查官网文档,而是拿真实业务场景去撞墙。

2.3 工具链解耦:为什么坚持“Qt 库”与“编译器”物理分离

Qt 官方预编译包(如Qt6.7.0_MinGW_64bit.7z)自带mingw_11_0子目录,很多人直接用它。但这是危险的捷径。原因在于:Qt 预编译库是用特定参数编译的,例如-O2 -g -fexceptions -mthreads,其中-mthreads对应 win32 线程模型。而如果你后续想用 Clang 编译(比如为了更快的编译速度或更好的诊断信息),就必须自己编译 Qt 源码,否则clang++链接 Qt 库时会报undefined reference to __imp__Z...。

所以我的做法是:

  • 下载 Qt 离线包时,只取6.7.0\mingw_64\下的include/、lib/、bin/三个目录;
  • 单独下载 MinGW-w64 11.2.0,解压到D:\mingw64\,并把D:\mingw64\bin加入系统 PATH;
  • 在 Qt Creator 中,进入Tools → Options → Kits → Compilers,手动添加D:\mingw64\bin\g++.exe,命名为 “MinGW 11.2.0 (win32)”;
  • 再进入Kits标签页,新建 Kit,Compiler 选刚添加的编译器,Qt version 选D:\Qt\6.7.0\mingw_64,CMake generator 选 “MinGW Makefiles”。

这样做的好处是:当某天你需要切换到 MSVC 时,只需在 Kits 中新增一个 MSVC 编译器条目,无需重装 Qt 库;当 MinGW 更新到 12.2.0,你只需替换D:\mingw64\目录,Qt 库保持不变。物理分离让环境具备“热插拔”能力,这是应对多项目、多客户、多目标平台的基本功。

3. 核心细节解析:从下载到验证的 12 个关键动作

3.1 下载源与校验:为什么必须放弃“百度网盘加速版”

Qt 官方下载页(https://download.qt.io/official_releases/qt/)提供三种格式:在线安装器、离线安装器、7z 压缩包。新手常选“离线安装器”(qt-opensource-windows-x86-6.7.0.exe),但它仍是安装器,会写注册表。正确做法是:

  • 进入https://download.qt.io/official_releases/qt/6.7/6.7.0/;
  • 找到submodules/目录,下载qtbase-everywhere-src-6.7.0.7z(基础库)、qtdeclarative-everywhere-src-6.7.0.7z(QML 支持)、qtsvg-everywhere-src-6.7.0.7z(SVG 渲染);
  • 但更推荐直接下载预编译二进制:在qt/6.7/6.7.0/下找qt-everywhere-src-6.7.0.7z同级的qtbase-windows-x86_64-msvc2019_64-6.7.0.7z(MSVC 版)或qtbase-windows-x86_64-mingw_11_0-6.7.0.7z(MinGW 版)。

重点来了:每个文件旁都有.sha256校验文件。例如qtbase-windows-x86_64-mingw_11_0-6.7.0.7z.sha256内容为:

a1b2c3d4e5f6... qtbase-windows-x86_64-mingw_11_0-6.7.0.7z

下载后,用 PowerShell 执行:

Get-FileHash .\qtbase-windows-x86_64-mingw_11_0-6.7.0.7z -Algorithm SHA256 | Format-List

对比输出的Hash字段与.sha256文件中的值。我曾因某镜像站缓存了旧版文件,导致解压后lib/Qt6Core.dll版本号为 6.6.3,编译时#include <QApplication>报错“no member named 'setHighDpiScaleFactorRoundingPolicy'”。校验不是形式主义,是阻断污染源的第一道闸门。

3.2 目录结构设计:为什么强制要求“版本号+编译器”双命名

Qt 官方建议将 Qt 安装到C:\Qt\6.7.0\mingw_64,但实际工作中,你会同时维护 Qt 5.15.2(用于老项目)、Qt 6.6.3(用于嵌入式)、Qt 6.7.0(用于新桌面端)。如果都按C:\Qt\6.7.0\mingw_64这种结构,当同事问“你用的哪个 Qt?”,你得翻半天配置。我的规范是:

  • 根目录:D:\Qt\(不放任何东西,仅作挂载点);
  • 子目录:D:\Qt\6.7.0_mingw1120\、D:\Qt\5.15.2_msvc2019\、D:\Qt\6.6.3_armgcc122\;
  • 每个子目录内,严格按 Qt 官方解压结构:include/、lib/、bin/、mkspecs/、translations/。

这样做的好处是:

  • 在 Qt Creator 的 Kits 设置中,“Qt version”路径一目了然,不会选错;
  • 编写部署脚本时,cp -r D:\Qt\6.7.0_mingw1120\bin\*.dll ./app/可精准复制;
  • 团队共享时,Git 提交env-setup.md文档,直接写“请将6.7.0_mingw1120解压至D:\Qt\”,新人 30 秒理解。

提示:Windows 路径中避免空格和中文,D:\Qt\6.7.0 (MinGW)这种命名会导致 CMake 找不到路径,因为 CMake 解析空格为分隔符。

3.3 MinGW-w64 线程模型与异常处理的生死抉择

MinGW-w64 有两个关键编译选项:--thread=win32|posix和--exception=seh|sjlj|dwarf。Qt 官方预编译库全部使用win32+seh组合。如果你下载了posix+sjlj版本的 MinGW,会出现两种症状:

  • 编译期:qmake生成的 Makefile 中LIBS += -lQt6Core,但链接时提示undefined reference to '_imp___ZN11QApplication13setHighDpiScaleFactorRoundingPolicyEN2Qt35HighDpiScaleFactorRoundingPolicyE';
  • 运行期:程序启动后立即崩溃,错误代码0xC0000005(访问冲突),因为 Qt 的线程局部存储(TLS)实现与 posix 线程模型不兼容。

正确下载地址是:

  • https://github.com/brechtsanders/winlibs_mingw/releases/download/11.2.0-12.0.1-10.0.0-r1/winlibs-x86_64-posix-seh-gcc-11.2.0-llvm-12.0.1-mingw-w64-10.0.0-r1.7z
    注意文件名中的posix-seh是错误的!官方已修正,最新版应为win32-seh。实际下载时,请认准:
  • 文件名含win32-seh(如winlibs-x86_64-win32-seh-gcc-11.2.0-llvm-12.0.1-mingw-w64-10.0.0-r1.7z);
  • 解压后,bin\g++.exe --version输出中包含thread_model: win32。

验证命令:

D:\mingw64\bin\g++.exe -v 2>&1 | findstr "thread_model"

输出必须为thread_model: win32。这是 Qt 环境能否存活的“心跳检测”。

3.4 Qt Creator 配置的 5 处必调参数

Qt Creator 12.0.2 的默认设置对新手极不友好。以下是必须手动修改的 5 个位置:

  1. Kits → Compilers:添加 MinGW 编译器时,Name 填 “MinGW 11.2.0 (win32)”,ABI 选x86_64-windows-msvc2019-pe-64bit(这是 Qt Creator 的显示 Bug,实际应为x86_64-windows-mingw-pe-64bit,但选错不影响);
  2. Kits → Qt versions:Add → 选择D:\Qt\6.7.0_mingw1120\bin\qmake.exe,Name 填 “Qt 6.7.0 (MinGW 11.2.0)”;
  3. Kits → Kits:Add → Name 填 “Desktop Qt 6.7.0 MinGW 11.2.0”,Compiler 选刚添加的 MinGW,Qt version 选刚添加的 Qt 6.7.0;
  4. Build & Run → General → Default build directory:改为D:\build-%{Project:Name}-%{Kit:Name},避免所有项目构建文件混在一起;
  5. Text Editor → Behavior → File Encodings:Default encoding 改为UTF-8,Fallback encoding 改为System,防止中文注释乱码。

注意:第 4 步的构建目录必须是绝对路径,且不能含空格。D:\build\myapp是合法的,D:\build myapp会导致 qmake 生成错误的 Makefile。

3.5 创建第一个项目时的 3 个隐藏陷阱

新建项目(File → New File or Project → Application → Qt Widgets Application)后,不要急着点“下一步”。先检查:

  • 项目路径:必须为英文、无空格、无中文,如D:\projects\helloqt;
  • Kit 选择:右上角下拉框必须选中你刚创建的 “Desktop Qt 6.7.0 MinGW 11.2.0”,而非默认的 “Auto-detected”;
  • CMakeLists.txt 生成方式:Qt Creator 12.0.2 默认用 qmake,但如果你勾选了 “Generate a CMakeLists.txt file”,则必须手动编辑该文件,在find_package(Qt6 REQUIRED COMPONENTS Widgets)后添加:
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)

否则编译报错error: 'std::optional' is not a member of 'std'(Qt 6.7.0 要求 C++17)。

完成向导后,打开main.cpp,在QApplication a(argc, argv);后添加一行:

qputenv("QT_QPA_PLATFORM", "windows");

这是为后续跨平台(如 Linux Wayland)预留的钩子,现在加进去,避免以后迁移时再补。

3.6 环境变量的最小集:PATH 中只需这 3 个路径

系统 PATH 中,Qt 环境只需以下三个路径(顺序无关):

  • D:\mingw64\bin(编译器);
  • D:\Qt\6.7.0_mingw1120\bin(Qt 运行时 DLL,如Qt6Core.dll);
  • D:\Qt\6.7.0_mingw1120\plugins\platforms(平台插件,否则启动黑屏)。

其他路径如D:\Qt\6.7.0_mingw1120\lib(静态库)、D:\Qt\6.7.0_mingw1120\mkspecs(qmake 配置)绝不能加入 PATH。原因:

  • lib/加入 PATH 会导致ld链接器优先搜索该目录,而忽略 MinGW 自带的libgcc.a,链接失败;
  • mkspecs/加入 PATH 会让 qmake 读取错误的 mkspec,生成Makefile时QMAKE_CXX = g++变成QMAKE_CXX = clang++。

验证方法:打开 CMD,执行echo %PATH%,确认只有上述三个路径出现。

3.7 第一次构建失败的 4 种高频原因与速查表

现象原因快速验证命令修复方案
qmake: could not find a Qt installation of ''Qt Creator 未正确关联 Qt versionD:\Qt\6.7.0_mingw1120\bin\qmake.exe -v在 Kits → Qt versions 中重新 Add
g++: error: unrecognized command-line option '-fPIC'MinGW 版本与 Qt 不匹配D:\mingw64\bin\g++.exe -v查 thread_model下载 win32-seh 版 MinGW
LNK1104: cannot open file 'Qt6Core.lib'项目属性中 Linker → General → Additional Library Directories 错误dir D:\Qt\6.7.0_mingw1120\lib\Qt6Core.lib在 Qt Creator 中,Projects → Build Settings → Build Steps → Details → Additional arguments 添加-L"D:\Qt\6.7.0_mingw1120\lib"
程序启动后黑屏/无窗口platforms插件未加载D:\Qt\6.7.0_mingw1120\bin\qtdiag.exe将D:\Qt\6.7.0_mingw1120\plugins\platforms加入 PATH

实操心得:qtdiag.exe是 Qt 6.7.0 新增的诊断工具,运行后输出包含Platform plugins:行,若显示Available: windows; Loaded: (none),说明 platforms 路径未生效。

3.8 静态链接 vs 动态链接:何时必须选静态

Qt 默认动态链接(DLL),发布时需打包Qt6Core.dll等 10+ 个文件。但某些场景必须静态链接:

  • 军工/航天项目:客户要求单 exe 无依赖;
  • 防病毒软件拦截:某国产杀软会扫描Qt6Gui.dll并误报为“可疑行为”;
  • U 盘便携应用:用户双击即用,不希望看到一堆 DLL。

静态链接步骤:

  1. 下载 Qt 源码(qtbase-windows-x86_64-mingw_11_0-6.7.0.7z);
  2. 解压到D:\qt-src\6.7.0\;
  3. 打开D:\mingw64\bin\mingw32-make.exe(不是mingw32-make.exe,那是 32 位版);
  4. 执行:
cd D:\qt-src\6.7.0\qtbase D:\mingw64\bin\configure.bat -static -prefix D:\Qt\6.7.0_static -release -opensource -confirm-license -nomake examples -nomake tests -skip qtwebengine D:\mingw64\bin\mingw32-make.exe -j8 D:\mingw64\bin\mingw32-make.exe install

注意-skip qtwebengine:WebEngine 静态编译需 16GB 内存,且耗时 8 小时,普通项目跳过。

静态链接后,windeployqt.exe工具失效,需手动ldd helloqt.exe查依赖,但最终生成的helloqt.exe确实是单文件。

3.9 高 DPI 适配的 2 行代码与 1 个配置文件

Windows 10/11 默认开启高 DPI 缩放,Qt 6.7.0 虽支持,但需显式启用。在main.cpp中:

#include <QApplication> #include <QScreen> int main(int argc, char *argv[]) { QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 启用高 DPI QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); // 禁用四舍五入 QApplication a(argc, argv); // ... 其他代码 }

此外,还需在项目根目录创建qt.conf文件:

[Paths] Plugins = plugins

否则QApplication初始化时找不到platforms/qwindows.dll,导致黑屏。这个qt.conf是 Qt 查找插件的“路标”,缺一不可。

3.10 中文路径与中文文件名的兼容方案

Qt Creator 默认不支持中文路径项目。若你坚持用D:\项目\helloqt,则:

  • qmake生成的Makefile中路径含乱码;
  • moc_main.cpp编译时报错fatal error: No such file or directory。

解决方案只有两个:

  1. 彻底规避:所有项目路径、文件名、类名、变量名均用英文,这是行业共识;
  2. 强制 UTF-8:在 Qt Creator 中,进入Tools → Options → Environment → System,将Default encoding改为UTF-8,并在main.cpp开头添加:
#pragma execution_character_set("utf-8")

但此方案在 MinGW 下不稳定,我推荐第一种——用D:\projects\hello_qt替代D:\项目\helloqt,省去所有编码烦恼。

3.11 Qt 6.7.0 的 CMakeLists.txt 最小模板

如果你选择 CMake(而非 qmake),CMakeLists.txt必须包含以下 8 行,少一行都会失败:

cmake_minimum_required(VERSION 3.16) project(hello_qt LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Core Widgets Gui) add_executable(hello_qt main.cpp widget.cpp widget.h ) target_link_libraries(hello_qt PRIVATE Qt6::Core Qt6::Widgets Qt6::Gui)

关键点:

  • cmake_minimum_required(VERSION 3.16):Qt 6.7.0 要求 CMake 3.16+;
  • set(CMAKE_CXX_STANDARD 17):必须显式声明,否则默认 C++14;
  • target_link_libraries中Qt6::Core的::是命名空间,不能写成Qt6Core。

3.12 环境一致性验证脚本:check-qt-env.bat全解析

将以下内容保存为D:\check-qt-env.bat:

@echo off echo === Qt 环境一致性检查 === echo 1. 检查 MinGW g++ 版本... D:\mingw64\bin\g++.exe --version | findstr "11.2.0" if %errorlevel% neq 0 echo [ERROR] MinGW 版本不匹配! echo 2. 检查 Qt qmake 版本... D:\Qt\6.7.0_mingw1120\bin\qmake.exe -v | findstr "6.7.0" if %errorlevel% neq 0 echo [ERROR] Qt 版本不匹配! echo 3. 检查线程模型... D:\mingw64\bin\g++.exe -v 2>&1 | findstr "thread_model.*win32" if %errorlevel% neq 0 echo [ERROR] MinGW 线程模型应为 win32! echo 4. 检查 Qt 平台插件... dir D:\Qt\6.7.0_mingw1120\plugins\platforms\qwindows.dll >nul 2>&1 if %errorlevel% neq 0 echo [ERROR] qwindows.dll 未找到! echo 5. 检查 PATH 包含必要路径... echo %PATH% | findstr "D:\\mingw64\\bin" if %errorlevel% neq 0 echo [ERROR] D:\mingw64\bin 未加入 PATH! echo %PATH% | findstr "D:\\Qt\\6.7.0_mingw1120\\bin" if %errorlevel% neq 0 echo [ERROR] D:\Qt\6.7.0_mingw1120\bin 未加入 PATH! echo %PATH% | findstr "D:\\Qt\\6.7.0_mingw1120\\plugins\\platforms" if %errorlevel% neq 0 echo [ERROR] platforms 路径未加入 PATH! echo === 检查完成 === pause

每次新装环境、或同事交接时,双击运行,5 秒内获知环境是否达标。这是我团队的标准 SOP。

4. 实操过程全记录:从空白系统到可运行 demo 的 22 分钟

4.1 准备工作:清理与前置检查(3 分钟)

关闭所有杀毒软件(特别是 360、腾讯电脑管家),它们会拦截qmake.exe的进程创建。
检查系统:

  • Windows 10 20H2 或更高版本(Qt 6.7.0 不支持 Win7);
  • 磁盘剩余空间 ≥ 25GB(Qt 库 + MinGW + 构建文件);
  • 管理员权限运行 CMD(右键开始菜单 → Windows Terminal (Admin))。

执行:

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

确认输出含OS Name: Microsoft Windows 10 Pro和OS Version: 10.0.19045。

4.2 下载与校验(5 分钟)

打开浏览器,访问:

  • MinGW-w64:https://github.com/brechtsanders/winlibs_mingw/releases/download/11.2.0-12.0.1-10.0.0-r1/winlibs-x86_64-win32-seh-gcc-11.2.0-llvm-12.0.1-mingw-w64-10.0.0-r1.7z
  • Qt 6.7.0:https://download.qt.io/official_releases/qt/6.7/6.7.0/qtbase-windows-x86_64-mingw_11_0-6.7.0.7z
  • Qt Creator:https://download.qt.io/official_releases/qtcreator/12/12.0/12.0.2/qt-creator-12.0.2-windows-x64.exe

下载后,用 PowerShell 校验:

Get-FileHash .\winlibs-x86_64-win32-seh-gcc-11.2.0-llvm-12.0.1-mingw-w64-10.0.0-r1.7z -Algorithm SHA256 Get-FileHash .\qtbase-windows-x86_64-mingw_11_0-6.7.0.7z -Algorithm SHA256

对比官网.sha256文件中的哈希值。

4.3 解压与安装(4 分钟)

  • 解压 MinGW 到D:\mingw64\(7-Zip 右键 → Extract Here);
  • 解压 Qt 到D:\Qt\6.7.0_mingw1120\(注意目录名含_mingw1120);
  • 双击qt-creator-12.0.2-windows-x64.exe,安装到D:\QtCreator\(不要装 C 盘);
  • 安装时取消勾选 “Launch Qt Creator”,我们手动配置。

4.4 环境变量配置(2 分钟)

右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 系统变量 → Path → 编辑 → 新建:

  • D:\mingw64\bin
  • D:\Qt\6.7.0_mingw1120\bin
  • D:\Qt\6.7.0_mingw1120\plugins\platforms

点击确定,重启 CMD。

4.5 Qt Creator 配置(5 分钟)

  1. 启动D:\QtCreator\bin\qtcreator.exe;
  2. Tools → Options → Kits → Compilers→ Add → GCC → Compiler path:D:\mingw64\bin\g++.exe,Name:MinGW 11.2.0 (win32);
  3. Qt versions→ Add →D:\Qt\6.7.0_mingw1120\bin\qmake.exe,Name:Qt 6.7.0 (MinGW 11.2.0);
  4. Kits→ Add → Name:Desktop Qt 6.7.0 MinGW 11.2.0,Compiler: 刚添加的 MinGW,Qt version: 刚添加的 Qt;
  5. Build & Run → General→ Default build directory:D:\build-%{Project:Name}-%{Kit:Name};
  6. Text Editor → Behavior→ Default encoding:UTF-8。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 18:51:06

智能清理临时文件:自动化方案与实战技巧

1. 临时文件管理的痛点与智能清理的价值每次打开电脑C盘看到红色警告条时&#xff0c;那种焦虑感IT从业者都懂。临时文件就像房间角落积攒的灰尘&#xff0c;不知不觉就占用了大量空间。我见过太多同事的电脑因为临时文件堆积导致系统卡顿&#xff0c;甚至影响关键工作进度。临…

作者头像 李华
网站建设 2026/10/26 18:50:10

Linux下C/C++运行时调用栈回溯:从backtrace到符号解析的工程实践

程序跑着跑着突然崩了&#xff0c;日志里只有一句“Segmentation fault”&#xff0c;连是哪个函数、哪一行出的问题都不给&#xff0c;这种场景但凡在Linux下写过C/C的人应该都遇到过。尤其是线上服务&#xff0c;core文件不一定开、gdb不一定装、复现还不一定稳&#xff0c;最…

作者头像 李华
网站建设 2026/10/26 18:50:00

F103驱动ILI9486并口屏:FSMC/GPIO与XPT2046校准

简介&#xff1a;这份完整工程面向STM32嵌入式初学者、单片机开发者及需要为小型设备加装显示屏的工程人员&#xff0c;基于STM32F103的HAL库驱动3.5英寸ILI9486 TFT触摸屏&#xff0c;代码可直接烧录验证。内容覆盖SPI与GPIO引脚配置、LCD初始化、清屏、画点画线、文本与图像显…

作者头像 李华
网站建设 2026/10/26 18:48:19

高效纯净文本编辑器:提升编程与写作效率的利器

1. 为什么我们需要一款纯粹的文本编辑器&#xff1f;在这个信息爆炸的时代&#xff0c;我们每天都要处理大量的文字工作。从程序员编写代码&#xff0c;到作家创作内容&#xff0c;再到学生整理笔记&#xff0c;一个高效、纯粹的文本编辑器能极大提升工作效率。但市面上大多数编…

作者头像 李华
网站建设 2026/10/26 18:46:58

STM32+HX711电子秤设计:信号链隔离与分段校准实战

简介&#xff1a;本资源是一套基于STM32单片机的电子秤完整嵌入式开发项目&#xff0c;面向嵌入式初学者、电子设计爱好者及高校课程实践者&#xff0c;解决高精度称重系统从硬件搭建到软件实现的一站式学习需求。压缩包共225个文件&#xff0c;涵盖35个C源码&#xff08;含HX7…

作者头像 李华
网站建设 2026/10/26 18:46:48

HTML语义化标签与Web品质优化实践

1. 为什么HTML元素对Web品质至关重要 HTML作为Web的基石语言&#xff0c;其元素选择与使用直接影响着网页的品质表现。一个常见的误解是认为HTML只是简单的标签组合&#xff0c;实际上每个元素都承载着特定的语义和功能。比如 <section> 和 <div> 虽然视觉表现…

作者头像 李华