Visual Studio 2022 C++ Debug模式下如何引用Qt5Cored.dll调试版
解决Debug模式下Qt程序加载Qt5Cored.dll而非Qt5Core.dll的问题
核心原因
Debug模式下程序默认应链接调试版Qt库(Qt5Cored.lib),但你当前强制链接了Release版的Qt5Core.lib,导致程序启动时会寻找对应的Release版DLL(Qt5Core.dll)。
具体解决步骤
1. 分配置设置链接器输入
打开Visual Studio 2022项目属性:
- 切换到Debug配置
- 进入「链接器 -> 输入」,在「附加依赖项」中,将
Qt5Core.lib替换为Qt5Cored.lib - 确保Release配置下保持
Qt5Core.lib不变
2. 检查项目预处理器宏
Debug配置下必须包含_DEBUG宏:
- 进入「C/C++ -> 预处理器」,查看「预处理器定义」,确认存在
_DEBUG(VS的Debug模式默认自动添加,若手动修改过可能丢失) - 同时确保未手动添加
QT_NO_DEBUG这类强制使用Release库的宏
3. 利用Qt自动链接机制(推荐)
若你是手动配置Qt库,建议不要手动指定链接库,让Qt的自动链接机制生效:
- 在代码中包含
#include <QtCore/QtCore> - Qt头文件会根据当前配置(Debug/Release)自动链接对应库,无需手动添加
Qt5Core.lib或Qt5Cored.lib到附加依赖项
4. 调整PATH优先级(可选)
若Qt的Debug与Release bin目录分开,可在Debug模式的项目配置中调整PATH:
- 进入「调试 -> 环境」,将Qt Debug版的bin目录放在PATH最前端,覆盖全局PATH中的Release目录
额外提示
若上述步骤无效,检查项目是否存在自定义构建脚本或属性表,可能有强制指定Release库的配置,需修改对应脚本中的库名称。
内容的提问来源于stack exchange,提问作者stoffy28
相关产品推荐
相关产品推荐

