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

Qt5升级至Qt6.3后QML项目加载qtquickcontrols2plugin.dll失败求助

Qt6.3 QML部署:qtquickcontrols2plugin.dll加载失败的解决

你的QML文件夹目录不正确,Qt6对QML插件的部署路径要求和Qt5存在差异,以下是具体问题和修复方案:

  • 路径结构错误:你将QtQuick/Controls放在可执行文件同级目录是Qt5的部署逻辑,Qt6要求QML插件必须放在可执行文件同级的qml子目录下,正确的部署结构应为:

    YourApp.exe
    Qt6Core.dll
    Qt6Qml.dll
    Qt6QuickControls2.dll
    qml/
        QtQuick/
            Controls/
                qtquickcontrols2plugin.dll
                qmldir
                plugins.qmltypes
            Controls.impl/
                qtquickcontrols2implplugin.dll
                qmldir
            # 若使用了Fusion/Material等风格,需同步部署对应子目录
            Controls.Fusion/
                ...
    
  • qmldir文件调整:注释掉qmldir里的prefer :/qt-project.org/imports/QtQuick/Controls/行。本地部署时,这一行会让Qt优先尝试加载资源路径内的插件,忽略你放在本地的文件,注释后会强制查找本地目录的插件。

  • 补充检查项:

    • 确保QtQuick.Controls.impl模块的插件已部署到qml/QtQuick/Controls.impl目录,你的qmldir明确导入了该模块,缺失它会导致主插件加载失败。
    • 用Qt自带的windeployqt工具自动部署验证,执行命令:
      windeployqt --qmldir [你的项目QML源文件所在目录] YourApp.exe
      
      该工具会自动处理所有依赖的DLL和QML插件,生成标准部署结构,你可以对比手动部署的内容,排查遗漏的文件或路径错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:51:20