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. Error when compiling for rpi
Qt 6.11 is out! See what's new in the release blog

Error when compiling for rpi

Scheduled Pinned Locked Moved Unsolved General and Desktop
1 Posts 1 Posters 205 Views
  • 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.
  • Y Offline
    Y Offline
    Youngrick88
    wrote on last edited by
    #1

    I have followed the cross compiling tutorial for qt6 on the qt website here.

    When compiling I get this error

    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::scrollTowardsSelectionPoint(QPointF const&, QSizeF const&)'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickTheme::~QQuickTheme()@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickTheme::QQuickTheme()@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickTheme::setFont(QQuickTheme::Scope, QFont const&)@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickPopup::popupItem() const@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `QQmlComponentPrivate::setInitialProperties(QV4::ExecutionEngine*, QV4::QmlContext*, QV4::Value const&, QV4::Value const&, RequiredProperties&, QObject*)'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickTheme::instance()@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::setSelectionEndPos(QPointF const&)'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::setSelectionStartPos(QPointF const&)'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::selectionRectangle() const'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::selectionPointerHandlerTarget() const'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickFlickablePrivate::itemGeometryChanged(QQuickItem*, QQuickGeometryChange, QRectF const&)'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickThemePrivate::instance@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickPopup::staticMetaObject@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::normalizeSelection()'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/qt-raspi/lib/libQt6QuickControls2.so.6.5.0: undefined reference to `QQuickTheme::setPalette(QQuickTheme::Scope, QPalette const&)@Qt_6_PRIVATE_API'
    /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: /home/imseng/cc_wiki/rpi-sysroot/usr/lib/aarch64-linux-gnu/libQt6QuickTemplates2.so.6: undefined reference to `non-virtual thunk to QQuickTableViewPrivate::clearSelection()'
    collect2: error: ld returned 1 exit status
    gmake[2]: *** [CMakeFiles/rfid_cloner-gui.dir/build.make:204: rfid_cloner-gui] Error 1
    gmake[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/rfid_cloner-gui.dir/all] Error 2
    gmake: *** [Makefile:91: all] Error 2
    

    What I find strange is that I was able to cross compile a different project no problem with the exact same kit and CMakeLists.txt file.

    Here is the CMakeLists.txt for reference

    cmake_minimum_required(VERSION 3.5)
    
    project(PROJECT_NAME LANGUAGES CXX)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    set(CMAKE_AUTOUIC ON)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
    find_package(Qt6 COMPONENTS Core Quick SerialPort VirtualKeyboard QuickControls2 REQUIRED)
    qt_standard_project_setup()
    
    set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wl,-rpath-link, ${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} -L${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wl,-rpath-link,${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} -L${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
    
    set(SOURCES main.cpp)
    
    qt_add_resources(SOURCES qml.qrc)
    
    add_executable(PROJET_NAME main.cpp backend.cpp  ${SOURCES})
    
    target_link_libraries(rfid_cloner-gui -lm -ldl Qt6::Core Qt6::Quick Qt6::SerialPort Qt6::VirtualKeyboard Qt6::QuickControls2)
    
    

    I read that it is because the libraries are built with a different compiler than I am using for my project but I don't see how this could be the case if it works for my other project and the CMakeLists.txt are identical (besides project name). Any help is greatly appreciated.

    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