Qt library compilation error: qxcbkeyboard.cpp :(. text + 0x25c): Undefined reference to 'QXkbCommon :: xxxxxx (xxx)'

wrong description

.obj/qxcbkeyboard.o:在函数‘QXcbKeyboard::possibleKeys(QKeyEvent const*) const’中:
qxcbkeyboard.cpp:(.text+0x25c):对‘QXkbCommon::possibleKeys(xkb_state*, QKeyEvent const*, bool, bool)’未定义的引用
.obj/qxcbkeyboard.o:在函数‘QXcbKeyboard::updateKeymap()’中:
qxcbkeyboard.cpp:(.text+0x1876):对‘QXkbCommon::verifyHasLatinLayout(xkb_keymap*)’未定义的引用
.obj/qxcbkeyboard.o:在函数‘QXcbKeyboard::handleKeyEvent(unsigned int, QEvent::Type, unsigned char, unsigned short, unsigned int, bool)’中:
qxcbkeyboard.cpp:(.text+0x1c9e):对‘QXkbCommon::lookupString(xkb_state*, unsigned int)’未定义的引用
qxcbkeyboard.cpp:(.text+0x1ce0):对‘QXkbCommon::keysymToQtKey(unsigned int, QFlags<Qt::KeyboardModifier>, xkb_state*, unsigned int, bool, bool)’未定义的引用
.obj/qxcbkeyboard.o:在函数‘QXcbKeyboard::initialize()’中:
qxcbkeyboard.cpp:(.text+0x5a0):对‘QXkbCommon::setXkbContext(QPlatformInputContext*, xkb_context*)’未定义的引用
collect2: error: ld returned 1 exit status
Makefile.xcb_qpa_lib:238: recipe for target '../../../../lib/libQt5XcbQpa.so.5.14.1' failed
make[6]: *** [../../../../lib/libQt5XcbQpa.so.5.14.1] Error 1
make[6]: Leaving directory '/home/jaron/software/qt-build/qtbase/src/plugins/platforms/xcb'
Makefile:90: recipe for target 'sub-xcb_qpa_lib-pro-make_first-ordered' failed
make[5]: *** [sub-xcb_qpa_lib-pro-make_first-ordered] Error 2
make[5]: Leaving directory '/home/jaron/software/qt-build/qtbase/src/plugins/platforms/xcb'
Makefile:102: recipe for target 'sub-xcb-make_first' failed
make[4]: *** [sub-xcb-make_first] Error 2
make[4]: Leaving directory '/home/jaron/software/qt-build/qtbase/src/plugins/platforms'
Makefile:104: recipe for target 'sub-platforms-make_first' failed
make[3]: *** [sub-platforms-make_first] Error 2
make[3]: Leaving directory '/home/jaron/software/qt-build/qtbase/src/plugins'
Makefile:723: recipe for target 'sub-plugins-make_first' failed
make[2]: *** [sub-plugins-make_first] Error 2
make[2]: Leaving directory '/home/jaron/software/qt-build/qtbase/src'
Makefile:50: recipe for target 'sub-src-make_first' failed
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory '/home/jaron/software/qt-build/qtbase'
Makefile:87: recipe for target 'module-qtbase-make_first' failed
make: *** [module-qtbase-make_first] Error 2

wrong reason

        This is because the xcb that comes with qt is not enabled.

Solution

configureAdd configuration options         at the time -qt-xcb.

Published 32 original articles · won praise 1 · views 4551

Guess you like

Origin blog.csdn.net/hezhanran/article/details/105070011