我的环境: Qt 5.3.1 + Mingw32 Windows 7
我厌倦了这些:
box2d-qml
中提取C:\Qt\Qt5.3.1\5.3\mingw482_32\imports
并将其重命名为Box2D
cd
打开到Box2D
目录。qmake
,无输出mingw32-make
,无错误输出。mingw32-make install
,无错误输出。并且Box2D.2.0
是在C:\Qt\Qt5.3.1\5.3\mingw482_32\qml
目录下生成的。然后我创建空的快速项目并将import Box2D 2.0
添加到qml中。
将鼠标光标移到import Box2D 2.0
上,QtCreator会弹出一条消息:
但是当我运行它时出现错误:
QQmlApplicationEngine failed to load component
qrc:///main.qml:3 plugin cannot be loaded for module "Box2D": ?v???O?C?? 'C:/Qt/Qt5.3.1/5.3/mingw482_32/qml/Box2D.2.0/Box2D.dll' ????? Qt ?????????????C?u???????g?p?????????B (?f?o?b?N???????[?X?????C?u?????????g?p???邱??????????)
主要的Cpp:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
return app.exec();
}
答案 0 :(得分:2)
您有2个选项可以使用该插件:
作为系统范围的QML插件安装到$ QTPATH / qml(或$ QTPATH / imports)文件夹中。在这种情况下,您只需要执行下一步:
install
添加到Make arguments
Run qmake
Deploy
;
将插件编译为项目的一部分。在这种情况下,您只需要执行下一步:
include(qml-box2d/box2d_lib.pri)
#include <box2dplugin.h> // <-- this line
int main(int argc, char *argv[])
{
...
Box2DPlugin plugin; // and these
plugin.registerTypes("Box2D"); // 2 lines
...
}
Box2D
个项目。