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. External libraries on Raspberry Pi 3 B+
Forum Updated to NodeBB v4.3 + New Features

External libraries on Raspberry Pi 3 B+

Scheduled Pinned Locked Moved Solved Mobile and Embedded
28 Posts 7 Posters 7.1k 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.
  • sneubertS Offline
    sneubertS Offline
    sneubert
    wrote on last edited by
    #12

    In most cases there´s no need to compile 3rd party libs with the cross-compiler. You can install the dev packages on your rpi for most of the libs. To use them in you cross-compile projecte you have to rsync from rpi -> dev host again.

    C 1 Reply Last reply
    1
    • jsulmJ jsulm

      @Crindu Can you please show the actual errors? Or better the whole compiler output. You get undefined reference errors during linking of your app. Most probably the linker cannot find the lib or it isn't compatible.

      C Offline
      C Offline
      Crindu
      wrote on last edited by
      #13

      @jsulm

      09:30:14: Running steps for project untitled1...
      09:30:14: Configuration unchanged, skipping qmake step.
      09:30:14: Starting: "/usr/bin/make" 
      /home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/cristiano/raspi/sysroot -Wl,-rpath-link,/home/cristiano/raspi/sysroot/opt/vc/lib -Wl,-rpath-link,/home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/cristiano/raspi/sysroot/lib/arm-linux-gnueabihf -o untitled1 main.o   -lpthread -L/home/cristiano/FFmpeg-compiled/compiled/lib -lavcodec -lavdevice -lavutil -lavformat -lavfilter -lswscale -lswresample 
      main.o: In function `main':
      /home/cristiano/untitled1/main.cpp:8: undefined reference to `av_register_all()'
      /home/cristiano/untitled1/main.cpp:9: undefined reference to `avcodec_register_all()'
      /home/cristiano/untitled1/main.cpp:10: undefined reference to `avdevice_register_all()'
      Makefile:139: recipe for target 'untitled1' failed
      collect2: error: ld returned 1 exit status
      make: *** [untitled1] Error 1
      09:30:14: The process "/usr/bin/make" exited with code 2.
      Error while building/deploying project untitled1 (kit: Raspberry kit)
      When executing step "Make"
      09:30:14: Elapsed time: 00:00.
      

      The libraries are compatible, this is the file command output:
      libavcodec.so.58.20.104: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=6182340cbdd8c56e7c410638a62e92dd0249e82c, stripped

      This is my pro. file:

      TEMPLATE = app
      CONFIG += console c++11
      CONFIG -= app_bundle
      CONFIG -= qt
      SOURCES += main.cpp
      INSTALLS        = target
      target.files    = untitled1
      target.path     = /home/pi
      LIBS += -lpthread
      
      INCLUDEPATH += /home/cristiano/FFmpeg-compiled/compiled/include
      
      LIBS += -L/home/cristiano/FFmpeg-compiled/compiled/lib -lavcodec -lavdevice -lavutil -lavformat -lavfilter -lswscale -lswresample
      
      jsulmJ 1 Reply Last reply
      0
      • sneubertS sneubert

        In most cases there´s no need to compile 3rd party libs with the cross-compiler. You can install the dev packages on your rpi for most of the libs. To use them in you cross-compile projecte you have to rsync from rpi -> dev host again.

        C Offline
        C Offline
        Crindu
        wrote on last edited by
        #14

        @sneubert Can you post your rsync example? I don't know exactly what and where to copy. Do I have to copy only the folders in which FFmpeg was installed or everything from the Raspberry in the sysroot folder ?

        1 Reply Last reply
        0
        • C Crindu

          @jsulm

          09:30:14: Running steps for project untitled1...
          09:30:14: Configuration unchanged, skipping qmake step.
          09:30:14: Starting: "/usr/bin/make" 
          /home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/cristiano/raspi/sysroot -Wl,-rpath-link,/home/cristiano/raspi/sysroot/opt/vc/lib -Wl,-rpath-link,/home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/cristiano/raspi/sysroot/lib/arm-linux-gnueabihf -o untitled1 main.o   -lpthread -L/home/cristiano/FFmpeg-compiled/compiled/lib -lavcodec -lavdevice -lavutil -lavformat -lavfilter -lswscale -lswresample 
          main.o: In function `main':
          /home/cristiano/untitled1/main.cpp:8: undefined reference to `av_register_all()'
          /home/cristiano/untitled1/main.cpp:9: undefined reference to `avcodec_register_all()'
          /home/cristiano/untitled1/main.cpp:10: undefined reference to `avdevice_register_all()'
          Makefile:139: recipe for target 'untitled1' failed
          collect2: error: ld returned 1 exit status
          make: *** [untitled1] Error 1
          09:30:14: The process "/usr/bin/make" exited with code 2.
          Error while building/deploying project untitled1 (kit: Raspberry kit)
          When executing step "Make"
          09:30:14: Elapsed time: 00:00.
          

          The libraries are compatible, this is the file command output:
          libavcodec.so.58.20.104: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=6182340cbdd8c56e7c410638a62e92dd0249e82c, stripped

          This is my pro. file:

          TEMPLATE = app
          CONFIG += console c++11
          CONFIG -= app_bundle
          CONFIG -= qt
          SOURCES += main.cpp
          INSTALLS        = target
          target.files    = untitled1
          target.path     = /home/pi
          LIBS += -lpthread
          
          INCLUDEPATH += /home/cristiano/FFmpeg-compiled/compiled/include
          
          LIBS += -L/home/cristiano/FFmpeg-compiled/compiled/lib -lavcodec -lavdevice -lavutil -lavformat -lavfilter -lswscale -lswresample
          
          jsulmJ Online
          jsulmJ Online
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #15

          @Crindu said in External libraries on Raspberry Pi 3 B+:

          /home/cristiano/FFmpeg-compiled/compiled/lib

          Are the libs really in this directory? Are they built using same compiler as you use for your app?

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

          C 1 Reply Last reply
          0
          • sneubertS Offline
            sneubertS Offline
            sneubert
            wrote on last edited by
            #16

            If you install for example libavcodec-dev on your rpi, the header and libraries get installed in /usr/...
            You now need the installed header and libraries on your development host. Your cross-compiler is working with a local copy of the rpi sysroot.

            Like in this guide https://wiki.qt.io/RaspberryPi2EGLFS every time you install some new dev libaries with apt-get on you rpi, you have to copy the new files to your development host.

            Take a look at Step 8.

            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
            

            As these libaries are in the system path of your local sysroot, you can now just include headers with #include <...> and link with LIBS += -l...

            C 1 Reply Last reply
            2
            • jsulmJ jsulm

              @Crindu said in External libraries on Raspberry Pi 3 B+:

              /home/cristiano/FFmpeg-compiled/compiled/lib

              Are the libs really in this directory? Are they built using same compiler as you use for your app?

              C Offline
              C Offline
              Crindu
              wrote on last edited by
              #17

              @jsulm Yes they are there and I built them with the cross compiler

              1 Reply Last reply
              0
              • sneubertS sneubert

                If you install for example libavcodec-dev on your rpi, the header and libraries get installed in /usr/...
                You now need the installed header and libraries on your development host. Your cross-compiler is working with a local copy of the rpi sysroot.

                Like in this guide https://wiki.qt.io/RaspberryPi2EGLFS every time you install some new dev libaries with apt-get on you rpi, you have to copy the new files to your development host.

                Take a look at Step 8.

                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
                

                As these libaries are in the system path of your local sysroot, you can now just include headers with #include <...> and link with LIBS += -l...

                C Offline
                C Offline
                Crindu
                wrote on last edited by
                #18

                @sneubert Ok thanks, something changed. Now I have a lot of compilation error relative to other libraries:

                11:28:58: Running steps for project untitled1...
                11:28:58: Configuration unchanged, skipping qmake step.
                11:28:58: Starting: "/usr/bin/make" 
                /home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/cristiano/raspi/sysroot -Wl,-rpath-link,/home/cristiano/raspi/sysroot/opt/vc/lib -Wl,-rpath-link,/home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/cristiano/raspi/sysroot/lib/arm-linux-gnueabihf -o untitled1 main.o   -lavcodec -lavdevice -lavformat -lpthread 
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_create(unsigned int&, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libzmq.so.5: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::rfind(char, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopencv_core.so.2.4: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libsnappy.so.1: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libzmq.so.5: undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_sync(char*, unsigned int, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_assign(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/librubberband.so.2: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned int, unsigned int, char const*, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::reserve(unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libjack.so.0: undefined reference to `operator delete(void*, unsigned int)@CXXABI_1.3.9'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libsnappy.so.1: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned int, char)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::replace(unsigned int, unsigned int, char const*, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libzmq.so.5: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libjack.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_mutate(unsigned int, unsigned int, wchar_t const*, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopencv_core.so.2.4: undefined reference to `operator delete[](void*, unsigned int)@CXXABI_1.3.9'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_not_of(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libjack.so.0: undefined reference to `std::runtime_error::runtime_error(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned int, unsigned int, unsigned int, char)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::random_device::_M_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::runtime_error::runtime_error(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libzmq.so.5: undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned int, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::range_error::range_error(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct(unsigned int, char)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_of(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `vtable for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::range_error::range_error(char const*)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_of(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libjack.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_not_of(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libjack.so.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned int, unsigned int, char const*, unsigned int)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopencv_core.so.2.4: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::swap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
                /home/cristiano/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libopenmpt.so.0: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const@GLIBCXX_3.4.21'
                Makefile:139: recipe for target 'untitled1' failed
                collect2: error: ld returned 1 exit status
                make: *** [untitled1] Error 1
                11:28:59: The process "/usr/bin/make" exited with code 2.
                Error while building/deploying project untitled1 (kit: Raspberry kit)
                When executing step "Make"
                11:28:59: Elapsed time: 00:00.
                
                1 Reply Last reply
                0
                • sneubertS Offline
                  sneubertS Offline
                  sneubert
                  wrote on last edited by
                  #19

                  sorry you have to repeate Step 9 after rsync

                  C 1 Reply Last reply
                  0
                  • sneubertS sneubert

                    sorry you have to repeate Step 9 after rsync

                    C Offline
                    C Offline
                    Crindu
                    wrote on last edited by
                    #20

                    @sneubert I just repeated step 9 but the errors remains

                    1 Reply Last reply
                    0
                    • sneubertS Offline
                      sneubertS Offline
                      sneubert
                      wrote on last edited by
                      #21

                      this seems to be a compiler missmatch between your cross-compiler an the compiler used to create the library, one thing you can try is to put

                      #define _GLIBCXX_USE_CXX11_ABI 0
                      

                      before include any standard library in your code

                      C 1 Reply Last reply
                      0
                      • sneubertS sneubert

                        this seems to be a compiler missmatch between your cross-compiler an the compiler used to create the library, one thing you can try is to put

                        #define _GLIBCXX_USE_CXX11_ABI 0
                        

                        before include any standard library in your code

                        C Offline
                        C Offline
                        Crindu
                        wrote on last edited by
                        #22

                        @sneubert Unfortunately it doesn't work. I noticed that copying the file on the Raspberry and compiling from there, it works! And this is strange because the compiler should be the same as the toolchain

                        1 Reply Last reply
                        0
                        • sneubertS Offline
                          sneubertS Offline
                          sneubert
                          wrote on last edited by
                          #23

                          what version of gcc are you using for cross compiling

                          /home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -v
                          

                          what version of gcc is on your rpi

                          g++ -v 
                          
                          C 1 Reply Last reply
                          2
                          • sneubertS sneubert

                            what version of gcc are you using for cross compiling

                            /home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -v
                            

                            what version of gcc is on your rpi

                            g++ -v 
                            
                            C Offline
                            C Offline
                            Crindu
                            wrote on last edited by
                            #24

                            @sneubert
                            1:

                            Using built-in specs.
                            COLLECT_GCC=/home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
                            COLLECT_LTO_WRAPPER=/home/cristiano/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/lto-wrapper
                            Target: arm-linux-gnueabihf
                            Configured with: /home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/src/gcc-linaro-4.8-2014.03/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install --with-sysroot=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv6 --with-tune=arm1176jz-s --with-fpu=vfp --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-float=hard
                            Thread model: posix
                            gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) 
                            
                            

                            2:

                            Using built-in specs.
                            COLLECT_GCC=g++
                            COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/6/lto-wrapper
                            Target: arm-linux-gnueabihf
                            Configured with: ../src/configure -v --with-pkgversion='Raspbian 6.3.0-18+rpi1+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
                            Thread model: posix
                            gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1+deb9u1) 
                            

                            I think I need to update the cross compiler. Can I simply download the same version of the Raspberry and set it as compiler in the Qt Creator kit?

                            1 Reply Last reply
                            0
                            • sneubertS Offline
                              sneubertS Offline
                              sneubert
                              wrote on last edited by
                              #25

                              I always use the linaro cross-compiler, latest gcc 7.3.1 should do
                              https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/
                              But I think you have to rebuild qt with this compiler.

                              C 2 Replies Last reply
                              3
                              • sneubertS sneubert

                                I always use the linaro cross-compiler, latest gcc 7.3.1 should do
                                https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/
                                But I think you have to rebuild qt with this compiler.

                                C Offline
                                C Offline
                                Crindu
                                wrote on last edited by
                                #26

                                @sneubert Ok I'll try to repeat steps 10 and 11 with the latest version of gcc

                                1 Reply Last reply
                                0
                                • sneubertS sneubert

                                  I always use the linaro cross-compiler, latest gcc 7.3.1 should do
                                  https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/
                                  But I think you have to rebuild qt with this compiler.

                                  C Offline
                                  C Offline
                                  Crindu
                                  wrote on last edited by
                                  #27

                                  @sneubert It worked at first try! Thank you so much, you really helped me a lot!!

                                  H 1 Reply Last reply
                                  1
                                  • C Crindu

                                    @sneubert It worked at first try! Thank you so much, you really helped me a lot!!

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

                                    @Crindu Dear, I am facing with problem that same with your. But i dont know how to update gcc in cross compile, can you help me?

                                    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