Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt Cross Compile Library Path for Raspberry pi 3
Forum Updated to NodeBB v4.3 + New Features

Qt Cross Compile Library Path for Raspberry pi 3

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 5 Posters 1.6k 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.
  • Q Offline
    Q Offline
    qtross
    wrote on last edited by qtross
    #1

    Hi,
    I followed instructions in this website for cross compile link and I am able to build succesfully to my Raspberry pi target machine. However, I would like to cross compile with opencv, wiring pi and, raspicam c++ libraries. Before cross compile I already installed these libraries on raspberry pi, to understand cross compiling procedure with libraries I just tried and build an app with opencv library and I could not make it work. While setuping cross compile, I can reach the needed libraries in sysroot folder(raspi/sysroot/usr/include/opencv or opencv2) which were transferred from raspberry pi to my local machine. in .pro file I showed this folder path as in the picture:

    INCLUDEPATH += /home/nehir-arda/raspi/sysroot/usr/include/opencv
    INCLUDEPATH += /home/nehir-arda/raspi/sysroot/usr/include/opencv2
    #LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio -lopencv_imgcodecs -lopencv_features2d
    LIBS += -L/home/nehir-arda/raspi/sysroot/usr/lib/arm-linux-gnueabihf -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio -lopencv_imgcodecs -lopencv_features2d

    But, when I try to build it gives my error which says cannot find opencv libraries. What might be the problem?

    Thank you for any suggestions.

    jsulmJ 1 Reply Last reply
    0
    • Q qtross

      Hi,
      I followed instructions in this website for cross compile link and I am able to build succesfully to my Raspberry pi target machine. However, I would like to cross compile with opencv, wiring pi and, raspicam c++ libraries. Before cross compile I already installed these libraries on raspberry pi, to understand cross compiling procedure with libraries I just tried and build an app with opencv library and I could not make it work. While setuping cross compile, I can reach the needed libraries in sysroot folder(raspi/sysroot/usr/include/opencv or opencv2) which were transferred from raspberry pi to my local machine. in .pro file I showed this folder path as in the picture:

      INCLUDEPATH += /home/nehir-arda/raspi/sysroot/usr/include/opencv
      INCLUDEPATH += /home/nehir-arda/raspi/sysroot/usr/include/opencv2
      #LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio -lopencv_imgcodecs -lopencv_features2d
      LIBS += -L/home/nehir-arda/raspi/sysroot/usr/lib/arm-linux-gnueabihf -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio -lopencv_imgcodecs -lopencv_features2d

      But, when I try to build it gives my error which says cannot find opencv libraries. What might be the problem?

      Thank you for any suggestions.

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

      @qtross Libs are usually NOT inside include directories! It should be /home/.../usr/lib

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

      1 Reply Last reply
      2
      • Q Offline
        Q Offline
        qtross
        wrote on last edited by qtross
        #3

        @jsulm Thanks for the reply, I changed the path and, I have now this warning;

        0_1564382180216_screen2.png

        Before cross compile, I already had opencv installed on my local machine and I still have. Though, missing file exists in sysroot/usr/lib folder, do you think that having another opencv library on local machine cause that warning? Because, after cross compile, I did not symmlink transferred libraries on my local machine.
        Thanks

        jsulmJ 1 Reply Last reply
        0
        • Q qtross

          @jsulm Thanks for the reply, I changed the path and, I have now this warning;

          0_1564382180216_screen2.png

          Before cross compile, I already had opencv installed on my local machine and I still have. Though, missing file exists in sysroot/usr/lib folder, do you think that having another opencv library on local machine cause that warning? Because, after cross compile, I did not symmlink transferred libraries on my local machine.
          Thanks

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

          @qtross Please do not post screen-shots, post text!
          How did you configure your Kit? You should set the sysroot.

          "Before cross compile, I already had opencv installed on my local machine and I still have. Though, missing file exists in sysroot/usr/lib folder, do you think that having another opencv library on local machine cause that warning?" - this is not how cross compiling works. It doesn't matter what you installed on your host machine. What matters is what is in your sysroot.

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

          Q 1 Reply Last reply
          1
          • jsulmJ jsulm

            @qtross Please do not post screen-shots, post text!
            How did you configure your Kit? You should set the sysroot.

            "Before cross compile, I already had opencv installed on my local machine and I still have. Though, missing file exists in sysroot/usr/lib folder, do you think that having another opencv library on local machine cause that warning?" - this is not how cross compiling works. It doesn't matter what you installed on your host machine. What matters is what is in your sysroot.

            Q Offline
            Q Offline
            qtross
            wrote on last edited by qtross
            #5

            @jsulm said in Qt Cross Compile Library Path for Raspberry pi 3:

            /home/nehir-arda/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: libblas.so.3, needed by /home/nehir-arda/raspi/sysroot/usr/lib/libarmadillo.so.9, not found (try using -rpath or -rpath-link)
            /home/nehir-arda/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: liblapack.so.3, needed by /home/nehir-arda/raspi/sysroot/usr/lib/libarmadillo.so.9, not found (try using -rpath or -rpath-link)

            Sorry about it, this is text version of my warning. My local machine name is :nehir-arda. I showed as local in first picture, but I corrected while I was building.

            It says libarmadillo.so.9 and libblass.so.3 are missing but I can find them in the same folder that gives error.

            And my sysroot path :

            /home/nehir-arda/raspi/sysroot

            jsulmJ 1 Reply Last reply
            0
            • Q qtross

              @jsulm said in Qt Cross Compile Library Path for Raspberry pi 3:

              /home/nehir-arda/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: libblas.so.3, needed by /home/nehir-arda/raspi/sysroot/usr/lib/libarmadillo.so.9, not found (try using -rpath or -rpath-link)
              /home/nehir-arda/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: liblapack.so.3, needed by /home/nehir-arda/raspi/sysroot/usr/lib/libarmadillo.so.9, not found (try using -rpath or -rpath-link)

              Sorry about it, this is text version of my warning. My local machine name is :nehir-arda. I showed as local in first picture, but I corrected while I was building.

              It says libarmadillo.so.9 and libblass.so.3 are missing but I can find them in the same folder that gives error.

              And my sysroot path :

              /home/nehir-arda/raspi/sysroot

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

              @qtross said in Qt Cross Compile Library Path for Raspberry pi 3:

              It says libarmadillo.so.9 and libblass.so.3 are missing but I can find them in the same folder that gives error.

              In your sysroot?

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

              Q 1 Reply Last reply
              0
              • jsulmJ jsulm

                @qtross said in Qt Cross Compile Library Path for Raspberry pi 3:

                It says libarmadillo.so.9 and libblass.so.3 are missing but I can find them in the same folder that gives error.

                In your sysroot?

                Q Offline
                Q Offline
                qtross
                wrote on last edited by
                #7

                @jsulm

                Yes I can find libarmadillo.so.9 and libblass.so.3 in this folder

                /home/nehir-arda/raspi/sysroot/usr/lib

                jsulmJ 1 Reply Last reply
                0
                • Q qtross

                  @jsulm

                  Yes I can find libarmadillo.so.9 and libblass.so.3 in this folder

                  /home/nehir-arda/raspi/sysroot/usr/lib

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

                  @qtross libblas.so.3 and liblapack.so.3 are not found actually, so are those two in your sysroot?

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

                  Q 1 Reply Last reply
                  0
                  • jsulmJ jsulm

                    @qtross libblas.so.3 and liblapack.so.3 are not found actually, so are those two in your sysroot?

                    Q Offline
                    Q Offline
                    qtross
                    wrote on last edited by
                    #9

                    @jsulm Yes i can find them but their folder is different:

                    /home/nehir-arda/raspi/sysroot/usr/lib/arm-linux-gnueabihf

                    I changed the path with the one above and could not build again.

                    jsulmJ 1 Reply Last reply
                    0
                    • Q qtross

                      @jsulm Yes i can find them but their folder is different:

                      /home/nehir-arda/raspi/sysroot/usr/lib/arm-linux-gnueabihf

                      I changed the path with the one above and could not build again.

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

                      @qtross How did you create the sysroot?

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

                      Q 1 Reply Last reply
                      0
                      • jsulmJ jsulm

                        @qtross How did you create the sysroot?

                        Q Offline
                        Q Offline
                        qtross
                        wrote on last edited by qtross
                        #11

                        @jsulm I created with these commands:

                        mkdir sysroot sysroot/usr sysroot/opt
                        rsync -avz pi@raspberrypi.local:/lib sysroot
                        rsync -avz pi@raspberrypi.local:/usr/include sysroot/usr
                        rsync -avz pi@raspberrypi.local:/usr/lib sysroot/usr
                        rsync -avz pi@raspberrypi.local:/opt/vc sysroot/opt

                        I changed raspberrypi.local with my raspberry pi adress.

                        And symlink with these commands:

                        wget https://raw.githubusercontent.com/Kukkimonsuta/rpi-buildqt/master/scripts/utils/sysroot-relativelinks.py
                        chmod +x sysroot-relativelinks.py
                        ./sysroot-relativelinks.py sysroot

                        H 1 Reply Last reply
                        0
                        • Q qtross

                          @jsulm I created with these commands:

                          mkdir sysroot sysroot/usr sysroot/opt
                          rsync -avz pi@raspberrypi.local:/lib sysroot
                          rsync -avz pi@raspberrypi.local:/usr/include sysroot/usr
                          rsync -avz pi@raspberrypi.local:/usr/lib sysroot/usr
                          rsync -avz pi@raspberrypi.local:/opt/vc sysroot/opt

                          I changed raspberrypi.local with my raspberry pi adress.

                          And symlink with these commands:

                          wget https://raw.githubusercontent.com/Kukkimonsuta/rpi-buildqt/master/scripts/utils/sysroot-relativelinks.py
                          chmod +x sysroot-relativelinks.py
                          ./sysroot-relativelinks.py sysroot

                          H Offline
                          H Offline
                          Huy hust
                          wrote on last edited by
                          #12

                          @qtross dear, i am facing the same error. Have you resolved it?

                          F 1 Reply Last reply
                          0
                          • H Huy hust

                            @qtross dear, i am facing the same error. Have you resolved it?

                            F Offline
                            F Offline
                            Fawkees
                            wrote on last edited by
                            #13

                            @Huy-hust
                            Hi, I'm confronted with the same problem right now. Have you found a solution?

                            Pablo J. RoginaP 1 Reply Last reply
                            0
                            • F Fawkees

                              @Huy-hust
                              Hi, I'm confronted with the same problem right now. Have you found a solution?

                              Pablo J. RoginaP Offline
                              Pablo J. RoginaP Offline
                              Pablo J. Rogina
                              wrote on last edited by
                              #14

                              @Fawkees said in Qt Cross Compile Library Path for Raspberry pi 3:

                              I'm confronted with the same problem right now

                              this post seems a little old, could it be possible you create a new one of your own, explaining what you've done so far and what issues you're facing? thanks.

                              Upvote the answer(s) that helped you solve the issue
                              Use "Topic Tools" button to mark your post as Solved
                              Add screenshots via postimage.org
                              Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                              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