Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. QtonPi
  4. Problem cross compiling (QT5) Qt3D to raspberry Pi
Forum Updated to NodeBB v4.3 + New Features

Problem cross compiling (QT5) Qt3D to raspberry Pi

Scheduled Pinned Locked Moved QtonPi
3 Posts 2 Posters 4.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Beoborg
    wrote on last edited by
    #1

    Hi,
    I have created working cross compile environment to my linux mint laptop. I was able to deploy
    simple helloworld app to my rpi. Now I have tried to get teapot example to work, but no luck.
    Teapot qt example is here:
    "http://doc-snapshot.qt-project.org/qt3d-1.0/qt3d-teapot.html"

    There is something wrong with my teapotview constructor, but I don't now what it is..
    Does anyone know what is the problem, I have run out of ideas here?

    Error print:
    @In file included from ../qt5-raspberrypi-example/main.cpp:2:0:
    ../qt5-raspberrypi-example/teapotview.h: In constructor 'TeapotView::TeapotView(QWidget*)':
    ../qt5-raspberrypi-example/teapotview.h:13:65: error: no matching function for call to 'QGLView::QGLView(QWidget*&)'
    ../qt5-raspberrypi-example/teapotview.h:13:65: note: candidates are:
    In file included from /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/QGLView:1:0,
    from ../qt5-raspberrypi-example/teapotview.h:4,
    from ../qt5-raspberrypi-example/main.cpp:2:
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:63:14: note: QGLView::QGLView(const QSurfaceFormat&, QWindow*)
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:63:14: note: no known conversion for argument 1 from 'QWidget*' to 'const QSurfaceFormat&'
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:62:14: note: QGLView::QGLView(QWindow*)
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:62:14: note: no known conversion for argument 1 from 'QWidget*' to 'QWindow*'
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:58:21: note: QGLView::QGLView(const QGLView&)
    /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/Qt3D/qglview.h:58:21: note: no known conversion for argument 1 from 'QWidget*' to 'const QGLView&'
    make: *** [main.o] Error 1@

    Here is my code and pro file:
    main.cpp
    @
    #include <Qt/qapplication.h>
    #include "teapotview.h"

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);
    TeapotView view;

    if (view.stereoType() != QGLView::RedCyanAnaglyph)
        view.camera()->setEyeSeparation(0.3f);
    if (QApplication::arguments().contains(QLatin1String("-maximize")))
        view.showMaximized();
    else if (QApplication::arguments().contains(QLatin1String("-fullscreen")))
        view.showFullScreen();
    else
        view.show();
    
    return app.exec();
    

    }@

    teapotview.h:
    @#ifndef TEAPOTVIEW_H
    #define TEAPOTVIEW_H

    #include <Qt3D/QGLView>
    #include <Qt3D/QGLTeapot>

    class QGLSceneNode;

    class TeapotView : public QGLView
    {
    Q_OBJECT
    public:
    TeapotView(QWidget *parent = 0) : QGLView(parent), teapot(0) {}
    ~TeapotView();

    protected:
    void initializeGL(QGLPainter *painter);
    void paintGL(QGLPainter *painter);
    private:
    QGLSceneNode *teapot;
    };

    #endif // TEAPOTVIEW_H@

    teapotview.cpp

    @#include "teapotview.h"
    #include <Qt3D/QGLBuilder>
    #include <Qt3D/QGLSceneNode>

    void TeapotView::initializeGL(QGLPainter *painter)
    {
    painter->setStandardEffect(QGL::LitMaterial);
    QGLBuilder builder;
    builder << QGLTeapot();
    teapot = builder.finalizedSceneNode();
    }

    TeapotView::~TeapotView()
    {
    delete teapot;
    }

    void TeapotView::paintGL(QGLPainter *painter)
    {
    teapot->draw(painter);
    }@

    helloworld.pro
    @
    TEMPLATE = app

    target.path = /home/pi/teapot
    TARGET = teapot
    INSTALLS += target

    DEPENDPATH += .
    INCLUDEPATH += .

    SOURCES += main.cpp
    teapotview.cpp

    HEADERS +=
    teapotview.h

    CONFIG += qt qwidgets warn-on qt3d_deploy_pkg

    OTHER_FILES +=
    teapot.rc
    teapot.desktop

    RC_FILE = teapot.rc

    INCLUDEPATH += /mnt/rasp-pi-rootfs/usr/local/qt5pi/include/
    qml_folder.source = qml
    DEPLOYMENTFOLDERS = qml_folder

    for(deploymentfolder, DEPLOYMENTFOLDERS) {
    item = item$${deploymentfolder}
    itemsources = $${item}.sources
    $$itemsources = $$eval($${deploymentfolder}.source)
    itempath = $${item}.path
    $$itempath= $$eval($${deploymentfolder}.target)
    export($$itemsources)
    export($$itempath)
    DEPLOYMENT += $$item
    }

    installPrefix = /home/pi/$${TARGET}

    for(deploymentfolder, DEPLOYMENTFOLDERS) {
    item = item$${deploymentfolder}
    itemfiles = $${item}.files
    $$itemfiles = $$eval($${deploymentfolder}.source)
    itempath = $${item}.path
    $$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
    export($$itemfiles)
    export($$itempath)
    INSTALLS += $$item
    }@

    1 Reply Last reply
    0
    • B Offline
      B Offline
      Beoborg
      wrote on last edited by
      #2

      "Working teapot link":http://doc-snapshot.qt-project.org/qt3d-1.0/qt3d-teapot.html

      1 Reply Last reply
      0
      • D Offline
        D Offline
        deus
        wrote on last edited by
        #3

        QGLview is now a subclass of Qwindow not Qwidget.

        Just change the constructor argument to:
        @TeapotView(QWindow *parent = 0)@

        And you should be good to go.

        The documentation for QT3D is atrocious now'a'days.

        But you can checkout updated examples directly from the git repos.

        http://qt.gitorious.org/qt/qt3d/trees/master/examples/qt3d/teapot

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved