如何使用mingw32安装Box2D-qml

时间:2017-04-05 06:27:22

标签: qt qml box2d

我的环境: Qt 5.3.1 + Mingw32 Windows 7

我厌倦了这些:

  1. box2d-qml中提取C:\Qt\Qt5.3.1\5.3\mingw482_32\imports并将其重命名为Box2D
  2. 将cmd和cd打开到Box2D目录。
  3. 在cmd中输入qmake,无输出
  4. 输入mingw32-make,无错误输出。
  5. 输入mingw32-make install,无错误输出。并且Box2D.2.0是在C:\Qt\Qt5.3.1\5.3\mingw482_32\qml目录下生成的。
  6. 然后我创建空的快速项目并将import Box2D 2.0添加到qml中。 将鼠标光标移到import Box2D 2.0上,QtCreator会弹出一条消息: enter image description here

    但是当我运行它时出现错误:

    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();
    }
    

1 个答案:

答案 0 :(得分:2)

您有2个选项可以使用该插件:

  1. 作为系统范围的QML插件安装到$ QTPATH / qml(或$ QTPATH / imports)文件夹中。在这种情况下,您只需要执行下一步:

    • 从Github下载源代码并使用QtCreator打开它(不要将其放入系统文件夹,将源代码放入某个用户文件夹)
    • 转到“项目”选项卡/“运行/添加部署步骤”
    • install添加到Make arguments
    • 转到“修改”标签,右键单击该项目,然后选择Run qmake
    • 现在构建项目(不要忘记设置发布配置文件)
    • 右键单击该项目并选择Deploy;
    • 插件dll(包括您需要的所有内容,Box2D代码等)将安装到qt文件夹中。
    1. 将插件编译为项目的一部分。在这种情况下,您只需要执行下一步:

      • 从Github下载源代码并将插件源文件夹放入项目文件夹(例如myproject / qml-box2d /)
      • 将该行添加到.pro文件中:include(qml-box2d/box2d_lib.pri)
      • 将此代码添加到main.cpp文件中:

      #include <box2dplugin.h> // <-- this line
      int main(int argc, char *argv[])
      {
      ...
      Box2DPlugin plugin;            // and these
      plugin.registerTypes("Box2D"); // 2 lines
      ...
      }
      
      • 重新运行qmake并重新启动项目。现在,您可以在QML文件中使用Box2D个项目。