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
Forum Updated to NodeBB v4.3 + New Features

Error when compiling for rpi

Scheduled Pinned Locked Moved Unsolved General and Desktop
1 Posts 1 Posters 108 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 21 Mar 2024, 19:34 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

    1/1

    21 Mar 2024, 19:34

    • Login

    • Login or register to search.
    1 out of 1
    • First post
      1/1
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved