使用vcpkg安装Qt6后VS2019 CMake项目运行失败求助
解决vcpkg安装Qt6后VS2019 CMake项目运行失败问题
针对你遇到的编译成功但运行提示找不到Qt平台插件、windeployqt报错的问题,按以下步骤排查修复:
1. 检查vcpkg Qt6安装完整性
- 打开
C:\vcpkg\installed\x64-windows\bin,确认存在Qt6Widgetsd.dll、Qt6Cored.dll、Qt6Guid.dll等Debug版本DLL;同时检查C:\vcpkg\installed\x64-windows\plugins\platforms下是否有qwindowsd.dll(Debug平台插件)。 - 若文件缺失,重新完整安装Qt6:
vcpkg install qt6[all]:x64-windows
2. 修正环境变量设置
- 将
C:\vcpkg\installed\x64-windows\bin添加到系统PATH最前端(避免其他Qt版本或路径干扰),移除错误的C:\vcpkg\installed\x64-windows\Qt6路径。 - 调整插件路径:
QT_PLUGIN_PATH设为C:\vcpkg\installed\x64-windows\plugins(vcpkg安装的Qt插件直接在此目录下,而非Qt6\plugins子文件夹)- 可删除
QT_QPA_PLATFORM_PLUGIN_PATH,由QT_PLUGIN_PATH自动覆盖平台插件查找路径
3. 优化CMakeLists.txt配置
统一使用CONFIG模式查找Qt包,合并链接语句,补充必要的自动生成选项:
cmake_minimum_required (VERSION 3.8) # 启用Qt自动生成工具 set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) project (HelloWorld) find_package(fmt CONFIG REQUIRED) # 统一用CONFIG模式查找Qt组件 find_package(Qt6Core CONFIG REQUIRED) find_package(Qt6Gui CONFIG REQUIRED) find_package(Qt6Widgets CONFIG REQUIRED) add_executable (HelloWorld "helloworld.cpp" "helloworld.h" "mainwindow.cpp") # 合并链接目标,更简洁 target_link_libraries(HelloWorld PRIVATE fmt::fmt Qt::Core Qt::Gui Qt::Widgets)
4. 正确使用windeployqt
- 先将
C:\vcpkg\installed\x64-windows\tools\qt6\bin添加到PATH,确保能找到windeployqt.exe - 针对Debug版本的可执行文件,需添加
--debug参数:windeployqt.exe --debug C:\Users\broland\Desktop\NewFolder\HelloWorld.exe - 若仍报错,手动复制依赖:
- 从
C:\vcpkg\installed\x64-windows\bin复制Qt6Cored.dll、Qt6Guid.dll、Qt6Widgetsd.dll到可执行文件目录 - 在可执行文件目录下创建
platforms子文件夹,复制C:\vcpkg\installed\x64-windows\plugins\platforms\qwindowsd.dll进去
- 从
5. 验证VS2019运行配置
- 确保VS中选择的是x64-Debug配置(与你使用的Debug版Qt库匹配)
- 可在项目属性→调试→环境中,手动指定环境变量(优先级高于系统变量):
PATH=C:\vcpkg\installed\x64-windows\bin;%PATH% QT_PLUGIN_PATH=C:\vcpkg\installed\x64-windows\plugins
内容的提问来源于stack exchange,提问作者broland
相关产品推荐
相关产品推荐

