1. 前言:从MinGW到MSVC的坎坷之路
去年接手一个OCR项目时,我遇到了一个典型的开发环境适配问题。项目需要集成PaddleOCR的预测库,而这个库官方只提供了MSVC编译的二进制版本。作为一个长期使用MinGW的Qt开发者,这次被迫切换到MSVC编译器的经历堪称一部血泪史。
最初我以为只是简单地在Qt Creator中切换一下编译器选项,没想到从环境配置到最终运行,整个过程充满了各种意想不到的陷阱。其中最令人抓狂的是,明明按照官方文档一步步操作,却依然会遇到各种稀奇古怪的问题:编译器不识别、ABI版本错误、中文乱码、Debug版本崩溃...
经过两周的反复尝试和排查,我终于梳理出了一套完整的解决方案。本文将详细记录这些问题的现象、原因和解决方法,希望能帮助其他开发者少走弯路。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 系统环境要求
在开始之前,我们需要确保系统环境满足以下基本要求:
- 操作系统:Windows 10/11 64位(本文以Windows 11为例)
- Qt版本:Qt 5.14.2(必须包含MSVC 2017组件)
- Visual Studio:VS 2017或更高版本(本文使用VS 2022)
- 硬件配置:建议至少8GB内存,SSD硬盘
注意:虽然Qt 5.14.2官方支持的是MSVC2017,但通过安装额外的工具集,我们可以在VS2022中使用MSVC2017的编译器。
2.2 软件安装清单
为确保环境完整,请按顺序安装以下组件:
-
Visual Studio 2022社区版
- 安装时务必勾选"使用C++的桌面开发"工作负载
- 在"单个组件"中搜索并添加"MSVC v141 - VS 2017 C++ x64/x86生成工具"
-
Qt 5.14.2安装
- 运行Qt在线安装程序
- 在选择组件时,展开"Qt 5.14.2"并勾选:
- MSVC 2017 32-bit
- MSVC 2017 64-bit
- Qt Creator(默认已勾选)
-
Windows 10 SDK
- 在VS安装程序中勾选最新版本的Windows 10 SDK
- 或者
