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
Qt 6.11 is out! See what's new in the release blog

Qt modules, classes, libraries

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
32 Posts 4 Posters 27.7k 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.
  • 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 Offline
            jsulmJ Offline
            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
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #21

                  IIRC you can set GST_VERSION=1.0 before trying 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

                  1 Reply Last reply
                  0
                  • embdevE embdev

                    @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 Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #22

                    @embdev Did the configure script check for GStreamer 1.0?
                    Maybe you need to tell it to use GStreamer 1.0 instead of 0.10

                    Also: "installed into my host Ubuntu PC" - do you mean you installed it for your target device or for your host Ubuntu? You need GStreamer for the target device, not host Ubuntu.

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

                    embdevE 2 Replies Last reply
                    0
                    • jsulmJ jsulm

                      @embdev Did the configure script check for GStreamer 1.0?
                      Maybe you need to tell it to use GStreamer 1.0 instead of 0.10

                      Also: "installed into my host Ubuntu PC" - do you mean you installed it for your target device or for your host Ubuntu? You need GStreamer for the target device, not host Ubuntu.

                      embdevE Offline
                      embdevE Offline
                      embdev
                      wrote on last edited by embdev
                      #23
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • jsulmJ jsulm

                        @embdev Did the configure script check for GStreamer 1.0?
                        Maybe you need to tell it to use GStreamer 1.0 instead of 0.10

                        Also: "installed into my host Ubuntu PC" - do you mean you installed it for your target device or for your host Ubuntu? You need GStreamer for the target device, not host Ubuntu.

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

                        @jsulm @SGaist i'm trying to cross-compile gstreamer using the cross-compiler but met the following errors. I think it's got something to do with glib-2.5. I've also tried to cross-compile glib2.5 but it says that i can't run test while cross-compiling (see below). If there a way to disable the tests in glib while cross-compiling? Can't seem to find the parameter to disable the test though.

                        I know this probably is not directly related to Qt but would greatly appreciate if anyone could share any experience / comments on the errors.
                        Thank you!

                        Cross-compiling gstreamer:

                        (...truncated)
                        /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 -lgmodule-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
                        make[4]: *** [libgstreamer-1.0.la] Error 1
                        Makefile:1010: recipe for target 'libgstreamer-1.0.la' failed
                        make[4]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                        make[3]: *** [all-recursive] Error 1
                        Makefile:1724: recipe for target 'all-recursive' failed
                        make[3]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                        make[2]: *** [all] Error 2
                        Makefile:936: recipe for target 'all' failed
                        make[2]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                        make[1]: *** [all-recursive] Error 1
                        Makefile:769: recipe for target 'all-recursive' failed
                        make[1]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0'
                        make: *** [all] Error 2
                        Makefile:675: recipe for target 'all' failed
                        

                        Cross-compiling glib-2.5 dependency for gstreamer:

                        (... truncated)
                        checking for growing stack pointer... configure: error: in `/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/glib-2.50.0':
                        configure: error: cannot run test program while cross compiling
                        See `config.log' for more details
                        
                        jsulmJ 1 Reply Last reply
                        0
                        • embdevE embdev

                          @jsulm @SGaist i'm trying to cross-compile gstreamer using the cross-compiler but met the following errors. I think it's got something to do with glib-2.5. I've also tried to cross-compile glib2.5 but it says that i can't run test while cross-compiling (see below). If there a way to disable the tests in glib while cross-compiling? Can't seem to find the parameter to disable the test though.

                          I know this probably is not directly related to Qt but would greatly appreciate if anyone could share any experience / comments on the errors.
                          Thank you!

                          Cross-compiling gstreamer:

                          (...truncated)
                          /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 -lgmodule-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
                          make[4]: *** [libgstreamer-1.0.la] Error 1
                          Makefile:1010: recipe for target 'libgstreamer-1.0.la' failed
                          make[4]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                          make[3]: *** [all-recursive] Error 1
                          Makefile:1724: recipe for target 'all-recursive' failed
                          make[3]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                          make[2]: *** [all] Error 2
                          Makefile:936: recipe for target 'all' failed
                          make[2]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst'
                          make[1]: *** [all-recursive] Error 1
                          Makefile:769: recipe for target 'all-recursive' failed
                          make[1]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0'
                          make: *** [all] Error 2
                          Makefile:675: recipe for target 'all' failed
                          

                          Cross-compiling glib-2.5 dependency for gstreamer:

                          (... truncated)
                          checking for growing stack pointer... configure: error: in `/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/glib-2.50.0':
                          configure: error: cannot run test program while cross compiling
                          See `config.log' for more details
                          
                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by jsulm
                          #25

                          @embdev It's not the kind of test you think. configure builds many small test programs to check availability of needed and optional components. It looks like in this case it wants to execute one of that test programs. Since you're building for a different CPU architecture it is not able to execute this program (you should check config.log file as suggested by the error message). You could try to build glib on your target device. Or check glib documentation to find out how to build it.

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

                          embdevE 1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @embdev It's not the kind of test you think. configure builds many small test programs to check availability of needed and optional components. It looks like in this case it wants to execute one of that test programs. Since you're building for a different CPU architecture it is not able to execute this program (you should check config.log file as suggested by the error message). You could try to build glib on your target device. Or check glib documentation to find out how to build it.

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

                            @jsulm i see. However i'm unable to install my cross-compiler on the target device for some reasons i'm trying to find out - when i try to run a bash script (for installing cross-compiler), i'm returned with an error: -sh: ./cross.v400.install: not found. So for now i can't install cross-compiler on my embedded device yet.

                            Hence i'm using the default linux kernel is supplied by vendor, that is a very scaled down image (4MB) and trying to cross-compile the rest of the files in my host Ubuntu PC.

                            Would you forsee any issues / would that be the right approach?

                            jsulmJ 1 Reply Last reply
                            0
                            • embdevE embdev

                              @jsulm i see. However i'm unable to install my cross-compiler on the target device for some reasons i'm trying to find out - when i try to run a bash script (for installing cross-compiler), i'm returned with an error: -sh: ./cross.v400.install: not found. So for now i can't install cross-compiler on my embedded device yet.

                              Hence i'm using the default linux kernel is supplied by vendor, that is a very scaled down image (4MB) and trying to cross-compile the rest of the files in my host Ubuntu PC.

                              Would you forsee any issues / would that be the right approach?

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #27

                              @embdev Cross compiler is not meant to be installed on the target device! If you do not have a compiler on your target device then you have to cross compile. What Linux is running on your target device? Is it a known distribution or something special?

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

                              embdevE 1 Reply Last reply
                              1
                              • jsulmJ jsulm

                                @embdev Cross compiler is not meant to be installed on the target device! If you do not have a compiler on your target device then you have to cross compile. What Linux is running on your target device? Is it a known distribution or something special?

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

                                @jsulm the vendor-supplied Linux kernel is 3.10.y version. A very scaled-down kernel (4MB) w/o GUI. That said, i'd have to cross-compile glib-2.5 in my host PC but i'd then need to resolve the error configure: error: cannot run test program while cross compiling .

                                Is there any other alternatives to cross-compile gstreamer successfully? As without cross-compiling gstreamer, I won't be able to configure Qt 5 to play multimedia files.

                                jsulmJ 1 Reply Last reply
                                0
                                • embdevE embdev

                                  @jsulm the vendor-supplied Linux kernel is 3.10.y version. A very scaled-down kernel (4MB) w/o GUI. That said, i'd have to cross-compile glib-2.5 in my host PC but i'd then need to resolve the error configure: error: cannot run test program while cross compiling .

                                  Is there any other alternatives to cross-compile gstreamer successfully? As without cross-compiling gstreamer, I won't be able to configure Qt 5 to play multimedia files.

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #29

                                  @embdev I actually wanted to know whether it is a Linux distribution like Debian

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

                                  embdevE 1 Reply Last reply
                                  0
                                  • jsulmJ jsulm

                                    @embdev I actually wanted to know whether it is a Linux distribution like Debian

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

                                    @jsulm I see. I tried the command <lsb -a> but this command is not found to show the Linux info. Is there any other way to find out? I don't think it's debian.

                                    jsulmJ 1 Reply Last reply
                                    0
                                    • embdevE embdev

                                      @jsulm I see. I tried the command <lsb -a> but this command is not found to show the Linux info. Is there any other way to find out? I don't think it's debian.

                                      jsulmJ Offline
                                      jsulmJ Offline
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #31

                                      @embdev Your vendor should know :-)
                                      What does "uname -a" say?

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

                                      embdevE 1 Reply Last reply
                                      0
                                      • jsulmJ jsulm

                                        @embdev Your vendor should know :-)
                                        What does "uname -a" say?

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

                                        @jsulm uname -a gives

                                        Linux (none) 3.10.0_hi3536 #1 SMP Fri Dec 25 18:32:56 HKT 2015 armv7l GNU/Linux
                                        
                                        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