Problems with Open-Source Downloads read https://www.qt.io/blog/problem-with-open-source-downloads and https://forum.qt.io/post/638946

Error! Why? Static linking with QWaylandCompositor



  • My main goal is to move widgets and dialogs on a board with the Linux and the Wayland(Weston) graphic.
    I can't do this by just coding some_object.move(x,y). Wayland won't let this be done.
    And here I am.
    I think, maybe with QWaylandCompositor and QWindow I could do it. Dynamic linking work fine. But I need to do it statically.
    This simple example compiled with errors:

    #include <QWidget>
    #include <QWindow>
    ...
    QWindow* w1 = new QWindow(this->windowHandle()); //this - is QWidget*
    QWaylandCompositor* compos = new QWaylandCompositor(w1);
    QWaylandOutput* wo = new QWaylandOutput(compos, w1);
    
    QPoint p(0,0);
    wo->setPosition(p);
    
     delete w1;
    

    And this:

    QWaylandCompositor compos;
    

    I have included waylandcompositor in the pro-file.
    Finally, errors:

    /data/soft/STM32MPU_workspace/STM32MP15-Ecosystem-v2/Developer-Package/SDK/sysroots/x86_64-ostl_sdk-linux/usr/libexec/arm-ostl-linux-gnueabi/gcc/arm-ostl-linux-gnueabi/9.3.0/real-ld: test_qwayland_plugin_import.o: in function `StaticQWaylandEglStreamBufferIntegrationPluginPluginInstance::StaticQWaylandEglStreamBufferIntegrationPluginPluginInstance()':
    /data/projects/_builds/build-test_qwayland-Static_STM32MPU1-Debug/test_qwayland_plugin_import.cpp:9: undefined reference to `qt_static_plugin_QWaylandEglStreamBufferIntegrationPlugin()'
    /data/soft/STM32MPU_workspace/STM32MP15-Ecosystem-v2/Developer-Package/SDK/sysroots/x86_64-ostl_sdk-linux/usr/libexec/arm-ostl-linux-gnueabi/gcc/arm-ostl-linux-gnueabi/9.3.0/real-ld: /tmp/test_qwayland.c9hfyS.ltrans75.ltrans.o: in function `QRhiResource::QRhiResource(QRhiImplementation*)':
    <artificial>:(.text+0x2ed0): undefined reference to `__atomic_fetch_add_8'
    collect2: error: ld returned 1 exit status
    

    What am I doing wrong? Do you have any ideas? Thanks for attention.
    P.S. Sorry about my English.


Log in to reply