Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt modules, classes, libraries
Forum Updated to NodeBB v4.3 + New Features

Qt modules, classes, libraries

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
32 Posts 4 Posters 9.5k Views 2 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.
  • embdevE Offline
    embdevE Offline
    embdev
    wrote on last edited by
    #1

    Hi fellow coders, does each Qt module corresponds to one library file in Qt? e.g. Qt Multimedia etc.

    jsulmJ 1 Reply Last reply
    0
    • embdevE embdev

      Hi fellow coders, does each Qt module corresponds to one library file in Qt? e.g. Qt Multimedia etc.

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @embdev Yes they do

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      embdevE 1 Reply Last reply
      2
      • jsulmJ jsulm

        @embdev Yes they do

        embdevE Offline
        embdevE Offline
        embdev
        wrote on last edited by
        #3

        @jsulm something I noticed from the Qt 5.7 sources is that the libraries are less than the Qt that I've installed for desktop version (via the online installer). Libraries like QtQuick and QtMultimedia are missing from my Qt 5.7 sources that I've built and compiled for my embedded target device. And therefore i'm unable to use the QtQuick application UI designer. There's an error which I've posted previously:

        "cannot open this QML document because of an error in the QML file:
        line 3: using qt quick 1 code model instead of qt quick (M234).

        But basically i'm unable to open the UI tab to do development work. This error happens when i'm using my own embedded device kit to build up the sources.

        Are there any comments / advice you could provide?

        JKSHJ 1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Hi,

          Some module may provide more than one library, e.g. qtbase, qtlocation etc.

          Where did you get the sources from ? How did you compile them ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          embdevE 1 Reply Last reply
          1
          • SGaistS SGaist

            Hi,

            Some module may provide more than one library, e.g. qtbase, qtlocation etc.

            Where did you get the sources from ? How did you compile them ?

            embdevE Offline
            embdevE Offline
            embdev
            wrote on last edited by
            #5

            @SGaist i downloaded the qt sources from the main website itself. I've a host PC running Ubuntu and connected to my embedded Linux target board via NFS. I compiled those sources in the host PC itself. For the multimedia libraries, i think i'm missing some gstreamer. If i need to include gstreamer, how should i go about installing it / perform my development work? Do i install the gstreamer in my host PC and then configure with Qt?

            1 Reply Last reply
            0
            • embdevE embdev

              @jsulm something I noticed from the Qt 5.7 sources is that the libraries are less than the Qt that I've installed for desktop version (via the online installer). Libraries like QtQuick and QtMultimedia are missing from my Qt 5.7 sources that I've built and compiled for my embedded target device. And therefore i'm unable to use the QtQuick application UI designer. There's an error which I've posted previously:

              "cannot open this QML document because of an error in the QML file:
              line 3: using qt quick 1 code model instead of qt quick (M234).

              But basically i'm unable to open the UI tab to do development work. This error happens when i'm using my own embedded device kit to build up the sources.

              Are there any comments / advice you could provide?

              JKSHJ Offline
              JKSHJ Offline
              JKSH
              Moderators
              wrote on last edited by
              #6

              Hi,

              What is your embedded target device?

              @embdev said in Qt modules, classes, libraries:

              "cannot open this QML document because of an error in the QML file:
              line 3: using qt quick 1 code model instead of qt quick (M234).

              Which kit(s) are present on your host PC? Which one(s) are you using for your project?

              See Tools -> Options -> Build & Run -> Kits

              @embdev said in Qt modules, classes, libraries:

              Do i install the gstreamer in my host PC and then configure with Qt?

              Yes. Make sure you install the version of GStreamer that is compatible with your embedded board, not your host PC. After that, configure and build the Qt Multimedia module again.

              When you configure, check the configure output. It will tell you if it found GStreamer or not.

              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

              embdevE 1 Reply Last reply
              0
              • JKSHJ JKSH

                Hi,

                What is your embedded target device?

                @embdev said in Qt modules, classes, libraries:

                "cannot open this QML document because of an error in the QML file:
                line 3: using qt quick 1 code model instead of qt quick (M234).

                Which kit(s) are present on your host PC? Which one(s) are you using for your project?

                See Tools -> Options -> Build & Run -> Kits

                @embdev said in Qt modules, classes, libraries:

                Do i install the gstreamer in my host PC and then configure with Qt?

                Yes. Make sure you install the version of GStreamer that is compatible with your embedded board, not your host PC. After that, configure and build the Qt Multimedia module again.

                When you configure, check the configure output. It will tell you if it found GStreamer or not.

                embdevE Offline
                embdevE Offline
                embdev
                wrote on last edited by
                #7

                @JKSH

                1. my embedded target device is some arm-based Linux processor for network video recorder (NVR) and i'm performing my development work in my host Ubuntu PC. It's connected to embedded target device via NFS.

                2. I've created the kit myself, specifically i need to configure qmake and cross-compile for my embedded target device. So i'm using the cross-compiler provided by the vendor.

                3. i'm pretty new to Qt itself, would you be able to provide some guidance on how to install gstreamer? I've found some qt gstreamer online. So should i cross-compile gstreamer first in my host Ubuntu PC using the cross-compiler and then add gstreamer to my Qt configure?

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  Depends, what distribution are you using on your target ? If it provides GStreamer then install the matching dev-packages and use that to build QtMultimedia.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  embdevE 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Depends, what distribution are you using on your target ? If it provides GStreamer then install the matching dev-packages and use that to build QtMultimedia.

                    embdevE Offline
                    embdevE Offline
                    embdev
                    wrote on last edited by
                    #9

                    @SGaist i don't think my SDK provides gstreamer. So which means i'd need to install gstreamer on my host Ubuntu and then configure with Qt again?

                    May i say that without QtMultimedia module, i'd be unable to create video players to play e.g. mp4, avi etc video formats?

                    jsulmJ 1 Reply Last reply
                    0
                    • embdevE embdev

                      @SGaist i don't think my SDK provides gstreamer. So which means i'd need to install gstreamer on my host Ubuntu and then configure with Qt again?

                      May i say that without QtMultimedia module, i'd be unable to create video players to play e.g. mp4, avi etc video formats?

                      jsulmJ Online
                      jsulmJ Online
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @embdev GStreamer from your host Ubuntu cannot be used on your embedded device. You will need to cross compile GStreamer if the vendor does not provide it.

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      embdevE 1 Reply Last reply
                      2
                      • jsulmJ jsulm

                        @embdev GStreamer from your host Ubuntu cannot be used on your embedded device. You will need to cross compile GStreamer if the vendor does not provide it.

                        embdevE Offline
                        embdevE Offline
                        embdev
                        wrote on last edited by
                        #11

                        @jsulm i see. So i'd need to use my cross-compiler to cross-compile gStreamer, and then run ./configure and append -gstreamer to it right?

                        jsulmJ 1 Reply Last reply
                        0
                        • embdevE embdev

                          @jsulm i see. So i'd need to use my cross-compiler to cross-compile gStreamer, and then run ./configure and append -gstreamer to it right?

                          jsulmJ Online
                          jsulmJ Online
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          @embdev Yes

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          embdevE 1 Reply Last reply
                          2
                          • jsulmJ jsulm

                            @embdev Yes

                            embdevE Offline
                            embdevE Offline
                            embdev
                            wrote on last edited by
                            #13

                            @jsulm thanks! I'll give it a shot

                            1 Reply Last reply
                            1
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              What does that SDK provide ?

                              If you take for example the RPi computers, you need the cross-toolchain however for all the additional dependencies you might have/want like gstreamer, MySQL etc., you install the dev packages on the root filesystem of the RPi and then use that for development.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              embdevE 1 Reply Last reply
                              0
                              • SGaistS SGaist

                                What does that SDK provide ?

                                If you take for example the RPi computers, you need the cross-toolchain however for all the additional dependencies you might have/want like gstreamer, MySQL etc., you install the dev packages on the root filesystem of the RPi and then use that for development.

                                embdevE Offline
                                embdevE Offline
                                embdev
                                wrote on last edited by
                                #15

                                @SGaist the SDK contains the cross-compiler, Linux kernel and other sample codes pertaining to the board. so a right way to do it is to cross-compile in my host PC and then install into target embedded board via my NFS?

                                JKSHJ 1 Reply Last reply
                                0
                                • embdevE embdev

                                  @SGaist the SDK contains the cross-compiler, Linux kernel and other sample codes pertaining to the board. so a right way to do it is to cross-compile in my host PC and then install into target embedded board via my NFS?

                                  JKSHJ Offline
                                  JKSHJ Offline
                                  JKSH
                                  Moderators
                                  wrote on last edited by
                                  #16

                                  @embdev said in Qt modules, classes, libraries:

                                  so a right way to do it is to cross-compile in my host PC and then install into target embedded board via my NFS?

                                  Yes, as @jsulm has described.

                                  Out of curiosity: How do you install other 3rd-party libraries (such as camera libraries) to your board?

                                  Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                  embdevE 1 Reply Last reply
                                  0
                                  • JKSHJ JKSH

                                    @embdev said in Qt modules, classes, libraries:

                                    so a right way to do it is to cross-compile in my host PC and then install into target embedded board via my NFS?

                                    Yes, as @jsulm has described.

                                    Out of curiosity: How do you install other 3rd-party libraries (such as camera libraries) to your board?

                                    embdevE Offline
                                    embdevE Offline
                                    embdev
                                    wrote on last edited by
                                    #17

                                    @JKSH i'm quite new to this; but I haven't installed other 3rd-party libraries to my board at this juncture. But the rule-of-thumb is to cross-compile any 3rd-party libraries in my host PC each time, and then run Qt configure to include the 3rd party libraries?

                                    jsulmJ 1 Reply Last reply
                                    0
                                    • embdevE embdev

                                      @JKSH i'm quite new to this; but I haven't installed other 3rd-party libraries to my board at this juncture. But the rule-of-thumb is to cross-compile any 3rd-party libraries in my host PC each time, and then run Qt configure to include the 3rd party libraries?

                                      jsulmJ Online
                                      jsulmJ Online
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #18

                                      @embdev You only need to run Qt configure if Qt uses that new library.
                                      If the library is not related to Qt then there is no need to run Qt configure.
                                      For example Qt uses GStreamer for media. If you want your Qt installation to be able to play media files then you need to install GStreamer libraries and headers and then configure and build Qt.

                                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      1 Reply Last reply
                                      1
                                      • SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        To add to @jsulm, for gstreamer, if you already have Qt compiled, then you only need to rebuild the QtMultimedia module.

                                        Interested in AI ? www.idiap.ch
                                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        embdevE 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          To add to @jsulm, for gstreamer, if you already have Qt compiled, then you only need to rebuild the QtMultimedia module.

                                          embdevE Offline
                                          embdevE Offline
                                          embdev
                                          wrote on last edited by
                                          #20

                                          @SGaist @jsulm thanks for your advice. I managed to resolved some gstreamer dependencies and installed into my host Ubuntu PC. I did a clean qt5.7 sources and rebuild the whole source again, with -gstreamer 1.0 but has the following errors:

                                          (...truncated)
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-g++ -mfloat-abi=softfp -Wl,-O1 -o gstreamer gstreamer.o   -L/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/lib/a7_softfp_vfpv4 -lgstaudio-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstpbutils-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstaudio-1.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstvideo-1.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstbase-1.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstpbutils-1.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstreamer-1.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
                                          /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lglib-2.0
                                          collect2: error: ld returned 1 exit status
                                          Makefile:92: recipe for target 'gstreamer' failed
                                          make: *** [gstreamer] Error 1
                                          GStreamer 1.0 disabled.
                                          checking for GStreamer 0.10... 
                                          Project ERROR: gstreamer-0.10 development package not found
                                          GStreamer 0.10 disabled.
                                          GStreamer support cannot be enabled due to functionality tests!
                                           Turn on verbose messaging (-v) to ./configure to see the final report.
                                          aa@aa:~/qt-everywhere-enterprise-src-5.7.0/qtbase$ 
                                          

                                          Seems that gstreamer 1.0 is not enabled. But it's installed in /usr/include

                                          jsulmJ 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