在发布模式下使用 QML 桌面组件的问题

Posted

技术标签:

【中文标题】在发布模式下使用 QML 桌面组件的问题【英文标题】:Problems in Using QML Desktop Components in Release Mode 【发布时间】:2012-11-22 14:32:15 【问题描述】:

我想编写具有精美 UI 的 c++ 桌面应用程序,所以我在 QT Creator 中完成了。

然后我决定添加一些 UI 功能,并转向 QML(QT 快速应用程序)。

我根据here 说明安装了 QML 桌面组件,使用了import Qt.labs.components 0.1,它运行良好。但是现在我必须部署我的应用程序,我注意到应用程序仅在调试模式下运行,而不是在发布模式下运行.我检查了一下,发现我只有 styleplugind.dll,而不是 styleplugin.dll。很快,我只有调试 dll,没有发布版本。我再次安装了组件,以便发布,我真的得到了 styleplugin.dll。但是当我运行我的应用程序时(我记得将 CONFIG+=release 添加到我的 .pro 文件中),我收到了这个错误:

loaded for module "Qt.labs.components": The plugin 'C:/QtSDK/Desktop/Qt/4.7.4/mingw/imports/Qt/labs/components/plugin/styleplugin.dll' uses incompatible Qt library. Expected build key "Windows mingw release full-config", got "Windows mingw debug full-config" 
 import Qt.labs.components 0.1 
 ^ 

我不明白为什么会这样:我有正确的 .dll 文件,而且一切似乎都很好。

(顺便说一句,我在 Windows7 上)

我该怎么办??

【问题讨论】:

嗯,错误输出表明您的 styleplugin.dll 仍在调试模式下构建... 你说得对,@sebasgo,我又编译了一遍,去掉了之前的调试dll,现在可以了!!!非常感谢!! @sebasgo 请将此作为答案发布,以便用户接受 【参考方案1】:

问题是,正如错误输出所述,您的 styleplugin.dll 仍然是针对不兼容的 Qt 构建(debug,预期为 release)构建的。

【讨论】:

以上是关于在发布模式下使用 QML 桌面组件的问题的主要内容,如果未能解决你的问题,请参考以下文章

qml 桌面组件缩放

Qt Creator qml:使用(额外)Qt 组件库(ubuntu)

针对 QML 中的特定组件元素

qml mousearea overlab 在悬停模式下不起作用

创建组件后很好地显示 Qml-Window

如何从 QML 组件调用自定义信号?