Qt5.1 Beta qmlscene cannot execute binary file ?



  • My setup.
    OSX Mountain Lion 10.8.3
    QtCreator 2.7.1
    QT 5.1 BETA compiled for Blackberry 10 using the exact instructions given on the page, it worked very well.

    The issue is that qmlscene binary is compiled to ELF, I believe the module that qmlscene is built from is qtdeclarative.

    When I built the module
    I exported PATH=$HOME/development/qnx/qt5/bin:$PATH
    Ensuring that the qmake used to build the project was 5.1 BETA, via qmake -query
    then
    qmake
    Then I checked the make which was the make from the blackberry ndk
    /Applications/bbndk/host_10_1_0_132/darwin/x86/usr/bin/make
    make
    make install
    it makes the ELF version of the qmlscene anyone know the work around ?
    How do I know? I checked with a hex editor and the header was ELF (linux executable)
    I asked the irc qt-qnx they are not exactly responding.
    I have been stuck on this for a few hours no help has turned up.

    Thanks alot guys I appreciate you taking the time to view this post.

    [[merged two identical posts, Tobias]]



  • My setup.
    OSX Mountain Lion 10.8.3
    QtCreator 2.7.1
    QT 5.1 BETA compiled for Blackberry 10 using the exact instructions given on the page, it worked very well.

    The issue is that qmlscene binary is compiled to ELF, I believe the module that qmlscene is built from is qtdeclarative.

    When I built the module I exported PATH=$HOME/development/qnx/qt5/bin:$PATH
    Ensuring that the qmake used to build the project was 5.1 BETA, via qmake -query
    then
    qmake
    Then I checked the make which was the make from the blackberry ndk
    /Applications/bbndk/host_10_1_0_132/darwin/x86/usr/bin/make
    make
    make install
    it makes the ELF version of the qmlscene anyone know the work around ?
    How do I know? I checked with a hex editor and the header was ELF (linux executable)
    I asked the irc qt-qnx they are not exactly responding.
    I have been stuck on this for a few hours no help has turned up.

    Thanks alot guys I appreciate you taking the time to view this post.



  • BB10 binaries are also linux ELF, so you haven't described sufficiently whether it's building for host or for device or which one you wanted. I don't know if OS X has the "file" utility, but you can use that to tell if it's an arm or x86 executable, which is the important distinction.

    As qmlscene is purely a development convenience tool, if it's not built for the architecture you want that shouldn't matter. Writing a BB10 app using QtQuick should still involve writing your own C++ application, even if it's just a stub.



  • It is a nice development connivence tool.
    I am trying to build it for the host, following the instructions should do that correct ? is there a way to build it for a host ?
    I looked at the make file nothing to change there, is there a way to configure the module to have it to be built for the host that is osx mountain lion ?

    ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), BuildID[md5/uuid]=f52760c237ab61c6252ced44c767c4a7, stripped
    This is what it returned.

    So apparently it is an ARM binary :S, the instructions say
    qmake
    make
    make install .... so I think there could be a bug or the instructions could be wrong?

    help me out please? and thank you.



  • Building for target is correct, despite being a developer convenience it relies on the QtQuick libraries which are not part of the host build. On cross-compiled builds, you usually want qmlscene built for target for trying out the UI on device. For BB10 specifically though, you probably don't want a build of qmlscene at all though, because it can't be easily deployed to device.

    If you want to develop generic QML then just build Qt (and qmlscene) for your host platform. You can then develop using that qmlscene, and worry about the "port" to BB10 later. Just don't forget your own C++ wrapper when you get there.

    If you want to develop specifically for BB10, you may as well start on the C++ wrapper now because there's no QML entry point on BB10, even the QML BB10 APIs don't work on desktop (outside the IDE), and you can't just copy qmlscene over and run stuff from the command line on device (so you'll need a C++ project for even test deployments).



  • Thanks for the advice I thought I would have to do something like that,
    Just one question off topic,
    So is a pure QTQuick 2.0 using QML Frontend and Backend is for pure prototyping?
    C++ Backend and QML Frontend together is for UI pre finalized release?
    Pure C++ code translating all the QML Frontend to c++ to work with C++ Backend is final?
    for best performance.

    Would you say my thoughts are correct? I am a beginner. Thanks for the replies so far.



  • Currently there is no official QML entry point for applications. Pure QML applications are only for prototyping, or for the UI design (to be later combined with a C++ backend).

    So QML frontend + QML backend is for prototyping and UI pre-release.
    QML frontend and C++ backend is for the final, best performing release.
    The performance gains of replacing the QML UI with a C++ implementation is usually not sufficient to warrant moving the UI (frontend) from QML to C++ even for the final release.

    If you do not have significant backend performance requirements, like for a simple clock application, then you can get by with the auto-generated C++ template that Creator (or Momentics) provides as your C++ entry point. In the future, a QML entry point may be provided for such applications (apps which are nearly all UI), but since there is no such entry point right now you will need at least that template for your release.



  • Thank you so much you were very helpful. I greatly appreciate your help. Thanks again!



  • You stated

    bq. ... Pure QML applications are only for prototyping, or for the UI design (to be later combined with a C++ backend) ...

    I realize that your post is from May of last year, but is this the current view or can complex, performant applications can be developed entirely in QML and JavaScript without C++?

    Thanks.

    Steve


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.