我正在尝试使用qmlplugindump
as described here创建plugins.qmltypes文件。它抱怨cannot create a QWidget without QApplication
。
我的文件夹结构如下:
~/imports/
- MyWidget/
- qmldir
- MyWidget.dll
我运行以下命令(从〜开始):
qmlplugindump MyWidget 1.0 import --output import/MyWidget/plugins.qmltypes
我的qmldir文件如下:
module MyWidget # name to use in your qml which will use this plugin
plugin MyWidget # should match dll name
答案 0 :(得分:2)
要回答我自己的问题,在浏览代码后(在woboq上,我发现您可以添加--qapp命令行选项,以便qmlplugindump
工具将创建QApplication
(而不是QGuiApplication
see this question and answers)
我的qmldir文件现在看起来像:
module MyWidget # name to use in your qml which will use this plugin
plugin MyWidget # should match dll name
typeinfo plugins.qmltypes # created by qmlplugindump
请注意,您还需要使用插件的发布版本,因为qmlplugindump文件会加载dll,并且当然正在运行该发布版本,因此会导致混合可执行文件(幸运的是,您得到的错误非常清楚)