Getting load library error or linking error for XCB plugin of statically linked Qt5.6.1



  • Trying to create C++ Qt5.6.1 application and start it on Debian.
    Getting either link error or load library error.

    Qt build to a static libs, used configuration

        configure -release -confirm-license -opensource -static 
    -no-dbus -no-openssl -no-qml-debug -no-opengl 
    -qt-freetype -qt-xcb 
    -nomake tools -nomake tests -nomake examples 
    -no-sql-db2 -no-sql-oci -no-sql-tds -no-sql-sqlite2 -no-sql-odbc -no-sql-ibase -no-sql-psql 
    -skip doc -skip imageformats -skip webchannel -skip webengine -skip webview -skip sensors -skip serialport -skip script -skip multimedia
    

    Project created with Cmake, libs are specified in this way:

    SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${QT5_LIB_ROOT}/cmake")
    
    FIND_PACKAGE(Qt5Core REQUIRED)
    FIND_PACKAGE(Qt5Gui REQUIRED)
    FIND_PACKAGE(Qt5Widgets REQUIRED)
    FIND_PACKAGE(Qt5Network REQUIRED)
    
    FIND_PACKAGE( PNG REQUIRED )
    FIND_PACKAGE( ZLIB REQUIRED)
    FIND_PACKAGE( Threads REQUIRED )
    
    IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
       SET(QT_LIBS
          libqtharfbuzzng_debug.a
          libqtpcre_debug.a
          libQt5PlatformSupport_debug.a
          libxcb-static_debug.a
          )
    ELSE()
       SET(QT_LIBS
          libqtharfbuzzng.a
          libqtpcre.a
          libQt5PlatformSupport.a
          libxcb-static.a
          )
    ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
    
    SET(OS_SPECIFIC_LIBS
       dl
       Qt5::QXcbIntegrationPlugin
       ${CMAKE_THREAD_LIBS_INIT}
       ${ZLIB_LIBRARIES}
       ${PNG_LIBRARY} )
    
    FOREACH(lib_name ${QT_LIBS})
       IF(NOT EXISTS ${QT5_LIB_ROOT}/${lib_name})
          MESSAGE(FATAL_ERROR "Could not locate required Qt lib ${QT5_LIB_ROOT}/${lib_name}")
       ENDIF()
    
       LIST(APPEND OS_SPECIFIC_LIBS ${QT5_LIB_ROOT}/${lib_name})
    ENDFOREACH(lib_name)
    

    And if I'm importing XCB plugin in the code ( Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) it gives me link error:

        /Qt5/plugins/platforms/libqxcb.a(qxcbmain.o): In function `QXcbIntegrationPlugin::create(QString const&, QStringList const&, int&, char**)':
    qxcbmain.cpp:(.text+0x67): undefined reference to `QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**)'
    

    Anf if I don't import plugin - it just not start with error:

    This application failed to start because it could not find or load the Qt platform plugin "xcb"
    

    Any help? advice?

    Thanks.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.