"प्लेटफ़ॉर्म प्लगइन लोड करने में विफल" xcb "" क्यूटी स्थापित किए बिना लिनक्स पर qt5 ऐप लॉन्च करते समय


101

मैंने लिनक्स के लिए आवेदन लिखा था जो Qt5 का उपयोग करता है।

लेकिन जब मैं इसे Qt SDK के बिना लिनक्स पर लॉन्च करने की कोशिश कर रहा हूं, तो कंसोल में आउटपुट है:

प्लेटफ़ॉर्म प्लगइन "xcb" लोड करने में विफल। उपलब्ध मंच हैं:

मैं इसे कैसे ठीक करूं? क्या मुझे कुछ प्लगइन फ़ाइल की प्रतिलिपि बनाने की आवश्यकता हो सकती है? जब मैं Qt5 स्थापित के साथ ubuntu का उपयोग करता हूं, लेकिन मैं क्यूटी निर्देशिका का नाम बदल देता हूं, तो वही समस्या होती है। तो, यह Qt निर्देशिका से कुछ फ़ाइल का उपयोग करता है ...

अद्यतन: जब मैं फ़ाइल libqxcb.so के साथ ऐप dir "प्लेटफार्मों" फ़ोल्डर में बनाता हूं , तो ऐप अभी भी प्रारंभ नहीं करता है, लेकिन त्रुटि संदेश बदल जाता है:

प्लेटफ़ॉर्म प्लगइन "xcb" लोड करने में विफल। उपलब्ध मंच हैं:

XCB

ये केसे हो सकता हे? प्लेटफ़ॉर्म प्लगइन कैसे उपलब्ध हो सकता है लेकिन लोड नहीं किया जा सकता है?


1
बस स्पष्ट करने के लिए, क्या क्यूटी पुस्तकालय वास्तव में स्थापित हैं?
cmannett85

1
यदि Qt लाइब्रेरी स्थापित है, तो प्रोग्राम सामान्य रूप से काम करता है। यदि यह स्थापित नहीं है, या qt sdk dir नहीं मिला है, तो प्रोग्राम काम नहीं करता है।
लोकोमोटिव

सुनिश्चित करें कि आप libQt5Gui.so.5 को भी कॉपी करते हैं
edaniels

1
ईव ऑनलाइन लांचर से यहां आने वालों के लिए: उपयोग करें eveonline.sh, नहीं eveonline- लॉन्चर के पास विशेष संस्करणों के साथ सभी लिबास हैं।
ओन्ड्रा kaइस्का

जवाबों:


59

साझा लाइब्रेरी निर्भरता दिखाने के लिए ldd (मैन ldd) का उपयोग करें। यह libqxcb.so पर चल रहा है

.../platforms$ ldd libqxcb.so

पता चलता है कि xcb libQt5DBus.so.5 और libQt5Gui.so.5 (और कई अन्य सिस्टम लिबास) के अलावा libQt5DBus.so.5 पर निर्भर करता है। साझा किए गए लिबास के अपने संग्रह में libQt5DBus.so.5 जोड़ें और आपको आगे बढ़ने के लिए तैयार होना चाहिए।


1
धन्यवाद! यह वही है जो समस्या थी। libQt5DBus.so.5 को कोर और गुई के साथ प्रलेखन में सूचीबद्ध किया जाना चाहिए।
dzlatkov

4
मेरे मामले sudo apt-get install libx11-xcb1में समस्या तय हो गई। लेकिन आपके उपयोग की सिफारिश lddने मुझे सही पुस्तकालय स्थापित करने के लिए कहा था। धन्यवाद!
डैनियल

4
मेरे मामले में मुझे भी libQt5XcbQpa.so.5 को lib फ़ोल्डर में जोड़ना पड़ा ।
elsamuko

4
यदि आपके पास जाने के बाद भी यह समस्या है ldd, तो plugins/platformsअपने Qt इंस्टॉलेशन के भीतर डायरेक्टरी ढूंढने का प्रयास करें। इस संपूर्ण निर्देशिका को अपनी बाइनरी या साझा लाइब्रेरी फ़ाइल के समान स्थान पर कॉपी करने का प्रयास करें। यदि वह काम करता है, तो आप LD_LIBRARY_PATH(हैसी) सेट कर सकते हैं या, जैसा कि @bossbarber द्वारा उत्तर में उल्लेख किया गया है, और QT_QPA_PLATFORM_PLUGIN_PATH
सीएसएल

1
मेरे मामले में मैं / usr / बिन / प्लेटफार्मों dir बनाया नहीं है। इसके साथ हल किया गया: sudo ln -sf / usr / lib / x86_64-linux-gnu / qt5 / plugins / platform / / usr / bin /
gipsh

55

जैसा कि पहले पोस्ट किया गया था, आपको यह सुनिश्चित करने की आवश्यकता है कि आप अपने एप्लिकेशन को तैनात करते समय प्लेटफ़ॉर्म प्लगइन्स इंस्टॉल करें। इस बात पर निर्भर करते हुए कि आप चीजों को कैसे तैनात करना चाहते हैं, आपके आवेदन को बताने के दो तरीके हैं जहाँ प्लेटफ़ॉर्म प्लगइन्स (जैसे प्लेटफ़ॉर्म / प्लगइन्स / लिबकेंबस.एसओ) रनटाइम पर हैं जो आपके लिए काम कर सकते हैं।

पहली बार निर्देशिका को पथ को क्यूटी_क्यूपीए_पीएलएटीफॉर्म_पीलगिन_पैथ चर के माध्यम से निर्यात करना है।

QT_QPA_PLATFORM_PLUGIN_PATH=path/to/plugins ./my_qt_app

या

export QT_QPA_PLATFORM_PLUGIN_PATH=path/to/plugins
./my_qt_app

अन्य विकल्प, जो मुझे पसंद है कि आपके निष्पादन योग्य के समान निर्देशिका में एक qt.conf फ़ाइल बनाना है। जिसकी सामग्री होगी:

[Paths]
Plugins=/path/to/plugins

इसके बारे में अधिक जानकारी यहां और qt.conf के उपयोग से प्राप्त की जा सकती है


1
वाह! बहुत बहुत धन्यवाद! Qt.conf के बारे में नहीं पता था, यह तैनाती के पहले पृष्ठ पर चाहिए अक्सर पूछे जाने वाले प्रश्न

मेरे मामले में किसी कारण से qt.conf (प्लगइन्स = प्लगइन्स) के अंदर का मार्ग पहचाना नहीं गया था। मैंने एक खाली qt.conf फ़ाइल की आपूर्ति की, जो वैश्विक (हार्ड कोडेड) रास्तों को qt.conf- चूक के साथ अधिलेखित कर देती है, मेरे मामले में ऐप-निर्देशिका में प्लगइन्स-सबफ़ोल्डर।
बी पिल्ट्ज़

1
हम सोच रहे थे कि LD_LIBRARY_PATHकाम क्यों नहीं किया जा रहा है, लेकिन यह काम QT_QPA_PLATFORM_PLUGIN_PATHकिया है। सुपर धन्यवाद।
अहमद फ़सीह

1
2 या 3 बार मैं इस जवाब पर आता हूं और यह हर बार मदद करता है।
kyb

26

मैंने अपना बाइनरी शुरू करने की कोशिश की, क्यूटी के साथ संकलित 5.7, उबंटू 16.04 एलटीएस पर जहां क्यूटी 5.5पूर्वस्थापित है। यह काम नहीं किया।

सबसे पहले, मैंने बाइनरी का निरीक्षण किया lddथा जैसा कि यहां सुझाया गया था, और "संतुष्ट" सभी "निर्भरता नहीं मिली"। तब इस कुख्यात This application failed to start because it could not find or load the Qt platform plugin "xcb"त्रुटि को फेंक दिया गया था।

लिनक्स में इसे कैसे हल करें

सबसे पहले आपको platformsनिर्देशिका बनाना चाहिए जहां आपका बाइनरी है, क्योंकि यह वह जगह है जहां क्यूटी एक्ससीबी लाइब्रेरी के लिए दिखता है। libqxcb.soवहां कॉपी करें । मुझे आश्चर्य है कि अन्य उत्तरों के लेखकों ने इसका उल्लेख क्यों नहीं किया।

तब आप अपने बाइनरी को QT_DEBUG_PLUGINS=1पर्यावरण चर के साथ सेट कर सकते libqxcb.soहैं, यह जांचने के लिए कि कौन सी निर्भरता "संतुष्ट" नहीं है। (आप इसके lddलिए स्वीकृत उत्तर में सुझाए अनुसार भी उपयोग कर सकते हैं )।

कमांड आउटपुट इस तरह दिख सकता है:

me@xerus:/media/sf_Qt/Package$ LD_LIBRARY_PATH=. QT_DEBUG_PLUGINS=1 ./Binary
QFactoryLoader::QFactoryLoader() checking directory path "/media/sf_Qt/Package/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/media/sf_Qt/Package/platforms/libqxcb.so"
Found metadata in lib /media/sf_Qt/Package/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("xcb")
loaded library "/media/sf_Qt/Package/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/media/sf_Qt/Package/platforms/libqxcb.so" : "Cannot load library /media/sf_Qt/Package/platforms/libqxcb.so: (/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5: version `Qt_5' not found (required by ./libQt5XcbQpa.so.5))"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

असफल libQt5DBus.so.5पुस्तकालय पर ध्यान दें । इसे अपने पुस्तकालयों पथ पर कॉपी करें, मेरे मामले में यह वही निर्देशिका थी जहां मेरा बाइनरी है (इसलिए LD_LIBRARY_PATH=.)। सभी आश्रितों के संतुष्ट होने तक इस प्रक्रिया को दोहराएं।

के लेखक को पुनश्च धन्यवाद इस उत्तर के लिए QT_DEBUG_PLUGINS=1


1
मैंने पाया कि जब libQt5xcbQpa.so.5 और libQtDBus.so.5 पर अनिर्धारित निर्भरताएँ थीं, तब भी मुझे प्लेटफ़ॉर्म फ़ोल्डर को जोड़ने की आवश्यकता थी जैसा कि आप इंगित करते हैं। यह संयोजन यह काम किया है।
बीएसडी

क्या कोई मुझे "डमीज़ के लिए" इस त्रुटि को ठीक करने के तरीके के बारे में बता सकता है? मुझे पता नहीं है कि इस सामान का क्या मतलब है, मुझे लिनक्स में इसे कैसे हल करना है, इसके लिए चरण-दर-चरण निर्देश की आवश्यकता है।
जॉन स्मिथ

@ जॉनसन यह बेहतर है यदि आप हमें बताएं कि वास्तव में आपके लिए कोई मतलब नहीं है। फिर हम विस्तृत करने की कोशिश करेंगे।
न्यूरोट्रांसमीटर

11

उबंटू 16.04 64 बिट। मुझे बिना किसी कारण के समस्या का सामना करना पड़ा। जिस रात से पहले मैंने अपने वीडियोलान उदाहरण पर एक फिल्म देखी थी, उस रात मैं वीडियोलैन के साथ एक और फिल्म देखना चाहूंगा। VLC प्रश्न में त्रुटि के कारण बस नहीं चलना चाहता था। मैं थोड़ा सा गूगल करता हूं और मुझे इसका हल मिल गया है जिससे मेरी समस्या हल हो गई है: अब से, वीएलसी पहले की तरह ही चल रहा है। समाधान यह है:

sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/ /usr/bin/

मैं यह नहीं बता पा रहा हूं कि इसके परिणाम क्या हैं, लेकिन मुझे पता है कि यह कुछ गायब प्रतीकात्मक लिंक बनाता है।


2
-f --forceजब तक U वास्तव में आप क्या कर रहे हैं, तब तक ध्वज का उपयोग न करें । इससे अन्य समस्याएं हो सकती हैं।
kyb

यह मेरे लिए उबंटू 18.04 के साथ हल किया गया था (समस्या होने पर आवेदन बचाव समय है।) यदि आपके पास पहले से ही एक निर्देशिका है तो -f ध्वज को छोड़ दें।
Eloff

10

मैंने प्रत्येक उत्तर के मुख्य भागों की कोशिश की, कोई फायदा नहीं हुआ। निम्नलिखित पर्यावरण चर को निर्यात करना मेरे लिए आखिरकार क्या तय था:

LD_LIBRARY_PATH=/usr/local/lib:~/Qt/5.9.1/gcc_64/lib
QT_QPA_PLATFORM_PLUGIN_PATH=~/Qt/5.9.1/gcc_64/plugins/ 

इसने मेरे लिए उबंटू 17.10 पर काम किया (लेकिन 16.04 से यह समस्या है!) export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/। दुर्भाग्य से यह केवल मेरे VLC तय किया, वर्चुअलबॉक्स नहीं है कि एक ही त्रुटि है ...
पूंछ

टेक्सबुक्स 0.6.2 अप और रनिंग प्राप्त करने के लिए उबंटू 18.04 में काम किया।
XavierStuvw

8

संस्करण 5 के बाद से, क्यूटी अंतर्निहित मंच से अमूर्त करने के लिए एक मंच अमूर्त प्रणाली (क्यूपीए) का उपयोग करता है ।

प्रत्येक प्लेटफ़ॉर्म के लिए कार्यान्वयन प्लगइन्स द्वारा प्रदान किया गया है। X11 के लिए यह XCB प्लगइन है। निर्भरता के बारे में अधिक जानकारी के लिए X11 आवश्यकताओं के लिए Qt देखें ।


तो, मुझे निर्भरता की सूची से सभी पैकेज स्थापित करने की आवश्यकता है? और यह काम करेगा? इसके अलावा मुझे qt SDK dir में फ़ाइल libqxcb.so मिली, लेकिन usr / lib डायरेक्टरी में रखने से मेरी समस्या हल नहीं हुई।
लोकोमोटिव

पेज X11 प्लेटफार्म पर एक आवेदन नियोजित करना सभी जानकारी की आवश्यकता शामिल करना चाहिए।
लौंग

मैंने उस पृष्ठ पर उल्लिखित सभी पैकेजों को स्थापित किया, लेकिन इससे कोई फायदा नहीं हुआ। मुझे जानकारी मिली, कि मंच प्लगइन्स फ़ोल्डर "प्लेटफार्मों" में निष्पादन योग्य की निर्देशिका में होना चाहिए। मैंने वहां xcb प्लगइन डाला, अब इरोड बदल गया: "प्लेटफ़ॉर्म प्लगइन लोड करने में विफल" xcb ": उपलब्ध प्लेटफ़ॉर्म हैं: xcb"
हरकत

1
@ क्लोज यह फिर से मर चुका है :(
user89

@ user89 मेरे लिए नहीं। अस्थायी समस्या शायद?
क्लोसे

6

संभवत: इससे मदद मिलेगी। मैं उबंटू 18.04 का उपयोग कर रहा हूं और जब मैंने कृता को ppa पद्धति का उपयोग करके स्थापित किया । मुझे यह त्रुटि मिली:

यह एप्लिकेशन प्रारंभ करने में विफल रहा क्योंकि यह Qt प्लेटफ़ॉर्म प्लगइन "xcb" को "" में ढूंढ या लोड नहीं कर सका।

उपलब्ध प्लेटफ़ॉर्म प्लगइन्स हैं: linuxfb, minimal, minimalalegl, offscreen, wayland-egl, wayland, xcb।

अनुप्रयोग पुनर्स्थापित कर इस समस्या का हल किया जा सकता है। गर्भपात

मैंने उन सभी समाधानों की कोशिश की जो मुझे इस धागे और अन्य जाले में सफलता के बिना मिले।

अंत में, मुझे एक पोस्ट मिली जहां लेखक ने उल्लेख किया कि इस सरल कमांड का उपयोग करके qt5 के डिबगिंग को सक्रिय करना संभव है:

export QT_DEBUG_PLUGINS=1

इस कमांड को जोड़ने के बाद मैं फिर से krita चलाता हूं मुझे वही त्रुटि मिली कि अब मुझे इसका कारण कैसे पता चलेगा।

libxcb-xinerama.so.0: साझा की गई फ़ाइल को नहीं खोल सकते: ऐसी कोई फ़ाइल या निर्देशिका नहीं।

यह त्रुटि "xcb" को ठीक से लोड करने से रोकती है। तो समाधान स्थापित किया जाएगा `libxcb-xinerama.so.0" सही है? हालांकि, जब मैं कमांड चलाता हूं:

sudo apt install libxcb-xinerama

मैं परिवाद स्थापित किया गया था। तो मैंने एक पुरानी चाल का इस्तेमाल किया--reinstall

sudo apt install --reinstall libxcb-xinerama

इस अंतिम आदेश ने मेरी समस्या हल कर दी।


6

इस समस्या के कई कारण हो सकते हैं। कुंजी का उपयोग करना है

export QT_DEBUG_PLUGINS=1

इससे पहले कि आप अपना Qt एप्लिकेशन चलाएं। फिर, आउटपुट का निरीक्षण करें, जो आपको त्रुटि की दिशा में इंगित करेगा। मेरे मामले में यह था:

Cannot load library /opt/nao/plugins/platforms/libqxcb.so: (/opt/nao/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16))

लेकिन वह विभिन्न थ्रेड्स में हल किया गया है। उदाहरण के लिए देखें https://stackoverflow.com/a/50097275/2408964


: facepalm: OMG, यह वही सलाह है। नहीं, यह कोई उपयोगी जानकारी प्रदान नहीं करता है, ठीक उसी त्रुटि के बहुत अधिक वर्बोज़ संस्करण। किसी चीज को देखने के लिए कोई संकेत या सुराग नहीं। कुछ भी याद नहीं है, कुछ भी "लोड नहीं कर सकता" जो मुझे पहले से पता नहीं था।
जॉन स्मिथ

2

मुझे उसी समस्या का सामना करना पड़ा जब Viber स्थापित करने के बाद। इसमें सभी आवश्यक क्यूटी पुस्तकालय थे /opt/viber/plugins/। मैंने निर्भरता की जाँच की /opt/viber/plugins/platforms/libqxcb.soऔर लापता निर्भरता पाई। वे थे libxcb-render.so.0, libxcb-image.so.0, libxcb-icccm.so.4, libxcb-xkb.so.1 तो मैं अपने इस मुद्दे को इस पुस्तकालयों के साथ लापता संकुल की स्थापना के द्वारा समाधान किया गया:

apt-get install libxcb-xkb1 libxcb-icccm4 libxcb-image0 libxcb-render-util0


मुझे टिज़ेन एमुलेटर लॉन्च करने में समस्या थी। इससे मदद मिली। धन्यवाद।
एलेक्सएम

2

इसलिए, मैंने एक दिन बिताया कि यह पता लगाने की कोशिश की कि मुद्दा क्या था; सभी प्रस्तावित समाधानों की कोशिश की, लेकिन इसमें से कोई भी काम नहीं किया जैसे कि xcb libs को स्थापित करना या Qt प्लगइन्स फ़ोल्डर को निर्यात करना। समस्या को हल करने के लिए जिस समाधान का उपयोग करने का सुझाव दिया गया QT_DEBUG_PLUGINS=1था, उसने मुझे उत्तर की तरह प्रत्यक्ष अंतर्दृष्टि प्रदान नहीं की - इसके बजाय मुझे Qt5Core के भीतर अनसुलझे प्रतीकों के बारे में कुछ मिल रहा था।

हालांकि मुझे यह संकेत दिया गया है: क्या होगा यदि यह अलग-अलग क्यूटी प्रतिष्ठानों से अलग-अलग फ़ाइलों का उपयोग करने की कोशिश कर रहा है? मेरी मशीन पर मेरे मानक संस्करण में स्थापित किया गया था /home/username/Qt/और मेरी परियोजना के भीतर कुछ स्थानीय बनाता है जिसे मैंने खुद से संकलित किया (मेरे पास अन्य कस्टम निर्मित किट के साथ-साथ अन्य स्थानों में भी हैं)। जब भी मैंने किसी भी किट का उपयोग करने की कोशिश की (क्यूटी रखरखाव उपकरण द्वारा स्थापित या स्वयं द्वारा निर्मित), मुझे "xcc त्रुटि" मिलेगा।

समाधान सरल था: क्यूटी पथ के माध्यम से प्रदान करें CMAKE_PREFIX_PATHऔर Qt5_DIRजैसा कि मैंने किया था, और इसने समस्या को हल किया। उदाहरण:

cmake .. -DCMAKE_PREFIX_PATH=/home/username/Qt/5.11.1/gcc_64


ओह, आदमी, यह लिनक्स दुनिया के साथ क्या है, जहां वेब पर हर एक समाधान काम करने के बजाय अप्रत्याशित त्रुटियां प्रदान करता है? कभी? तीन दिन अब उबंटू के स्टॉक इंस्टॉलेशन पर एक कामकाजी डेस्कटॉप प्राप्त करने की कोशिश कर रहा है। नहीं, Google से यहां आने वालों के लिए: यह समाधान इस पृष्ठ पर किसी भी चीज़ से बेहतर काम नहीं करता है। मुझे लगता है कि लिनक्स वास्तव में बिल्कुल काम नहीं करता है।
जॉन स्मिथ

2

मैं एक ही त्रुटि संदेश के साथ एक बहुत ही समान समस्या में भाग गया। सबसे पहले, कमांड लाइन कमांड के साथ Qt डीबग प्रिंटर चालू करके कुछ डिबग करें:

qt_DEBUG_PLUGINS = 1 निर्यात करें

और आवेदन फिर से चलाएँ। मेरे लिए यह निम्नलिखित है:

"लाइब्रेरी /home/.../miniconda3/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so पर लोड नहीं किया जा सकता: (libxkb असामान्य-x11.so.0: साझा की गई फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है)"

"लाइब्रेरी /home/.../miniconda3/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so पर लोड नहीं किया जा सकता: (libxkb असामान्य-x11.so.0: साझा की गई फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है)"

दरअसल, मुझे libxkb असामान्य-x11.so.0 और libxkb असामान्य-x11.so.0 याद आ रहे थे। अगला, लिनक्स कमांड लाइन से dpkg का उपयोग करके अपने आर्किटेक्चर की जांच करें। (मेरे लिए, कमांड "आर्च" ने एक अलग और अनपेक्षित परिणाम दिया)

dpkg - छाप-वास्तुकला # मेरे लिए: amd64

मैंने तब "libxkb असामान्य-x11.so.0 ubuntu 18.04 amd64" को गॉगल किया, और इसी तरह libxkb असामान्य-x11.so.0 के लिए, जो उन संकुल को संकुल.ubuntu.com पर देता है। उस ने मुझे बताया, अनिश्चित रूप से पूर्वव्यापी में, मुझे libxkb असामान्य-x11-0 और libxkb असामान्य0 नामक पैकेज याद आ रहे हैं, और उन पैकेजों को स्थापित करने में आवश्यक फाइलें शामिल होंगी, लेकिन देव संस्करण नहीं होंगे। फिर समाधान:

sudo apt-get update

sudo apt-get install libxkbcommon0

sudo apt-get install libxkb असामान्य-x11-0


1

मेरे मामले में, मुझे उबंटू वर्चुअलबॉक्स अतिथि पर दो क्यूटी एप्लिकेशन तैनात करने की आवश्यकता थी। एक कमांड-लाइन ("ऐप") था, दूसरा GUI_based ("app_GUI")।

मैंने "ldd app" का उपयोग यह जानने के लिए किया कि आवश्यक काम क्या हैं, और उन्हें Ubuntu अतिथि में कॉपी किया। जबकि कमांड-लाइन निष्पादन योग्य "ऐप" ने ठीक काम किया, जीयूआई-आधारित निष्पादन योग्य दुर्घटनाग्रस्त हो गया, जिससे "प्लेटफ़ॉर्म प्लगइन लोड करने में विफल" xcb "त्रुटि हुई। मैंने libxcb.so के लिए ldd की जाँच की, लेकिन इसमें भी कोई गायब नहीं थी।

समस्या यह प्रतीत होती है कि जब मैंने सभी सही पुस्तकालयों की प्रतिलिपि की तो मैंने गलती से उन पुस्तकालयों की भी प्रतिलिपि बना ली थी जो अतिथि प्रणाली में पहले से ही मौजूद थे .. जिसका अर्थ है कि (ए) उन्हें पहले स्थान पर कॉपी करना अनावश्यक था और (बी) बदतर , उन्हें स्थापित पुस्तकालयों के बीच असंगतता की नकल करते हुए। इससे भी बदतर, वे ldd द्वारा undetectable थे जैसे मैंने कहा ..

समाधान? सुनिश्चित करें कि आप ldd द्वारा लापता के रूप में दिखाए गए पुस्तकालयों की नकल करते हैं और बिल्कुल कोई अतिरिक्त पुस्तकालय नहीं है


और, मैं इस सलाह का उपयोग करके अपनी समस्या को ठीक करता हूं, कैसे?
जॉन स्मिथ

1

मेरे मामले में गायब हेडर फाइलें libxcbQt द्वारा निर्मित नहीं थी। Https://wiki.qt.io/Building_Qt_5_from_Git#Linux.2FX11 के अनुसार उन्हें स्थापित करने से समस्या हल हो गई:

yum install libxcb libxcb-devel xcb-util xcb-util-devel mesa-libGL-devel libxkbcommon-devel

1
हाँ, मुझे लगता है कि मुझे भी इसी तरह की समस्या थी। यहां तक ​​कि स्रोत से क्यूटी भी संकलित किया गया था, लेकिन ध्यान नहीं दिया कि मेरे सिस्टम पर xcb-toolchain संन्यासी नहीं था, इसलिए qt-xcb भागों को स्थापित नहीं किया गया था।
शीव

1

मुझे इसका समाधान पसंद है qt.conf

qt.confअगली पंक्तियों के साथ निष्पादन योग्य के पास रखें :

[Paths]
Prefix = /path/to/qtbase

और यह एक आकर्षण की तरह काम करता है: ^)

एक कार्य उदाहरण के लिए:

[Paths]
Prefix = /home/user/SDKS/Qt/5.6.2/5.6/gcc_64/

इस पर प्रलेखन यहाँ है: https://doc.qt.io/qt-5/qt-conf.html


और मैं "निष्पादित करने के लिए qt.conf पास" कैसे, बिल्कुल?
जॉन स्मिथ

प्रस्तुत सामग्री के साथ फ़ाइल बनाएँ। cd path/to/executable; vim qt.conf, पेस्ट करें। सुरषित और बहार।
kyb

एक ही लिंक पहले से ही जवाब में
kyb

0

मैं अपने खुले स्रोत परियोजनाओं के सामान्य लिनक्स बिल्ड के लिए सभी क्यूटी सामग्री को सांख्यिकीय रूप से जोड़ता हूं। यह जीवन को थोड़ा आसान बनाता है। आपको पहले Qt पुस्तकालयों के स्थिर संस्करणों का निर्माण करने की आवश्यकता है। बेशक यह लाइसेंसिंग मुद्दों के कारण बंद स्रोत सॉफ़्टवेयर पर लागू नहीं किया जा सकता है। लिनक्स पर Qt5 एप्लिकेशन की तैनाती वर्तमान में थोड़ी समस्याग्रस्त है, क्योंकि उबंटू 12.04, उदाहरण के लिए, पैकेज रिपॉजिटरी में Qt5 लाइब्रेरी नहीं है।


0

मुझे यह समस्या थी, और एक कूबड़ पर मैंने अपने वातावरण से क्यूटी कॉन्फिग्स को हटा दिया। अर्थात,

rm -rf ~/.config/Qt*

फिर मैंने qtcreator शुरू किया और यह मशीन की मौजूदा स्थिति के साथ ही पुन: जुड़ गया। यह अब याद नहीं है कि मेरी परियोजनाएं कहां थीं, लेकिन इसका मतलब था कि मुझे उन्हें "पहली बार" फिर से ब्राउज़ करना था।

लेकिन इससे भी महत्वपूर्ण बात यह है कि इसने अपने आप में पुस्तकालय पथों का एक सुसंगत सेट बनाया, इसलिए मैं अपने प्रोजेक्ट एक्जीक्यूटिवों को फिर से बना सकता हूं और बिना xcb या qxcb पुस्तकालयों के गायब हो सकता हूं।


Qtcreator वही सटीक त्रुटि देता है जिसे मैं हल करने की कोशिश कर रहा हूं। बेशक। क्योंकि अगर मुझे वेब पर किसी भी लिनक्स समस्या के लिए एक समाधान के रूप में बहुत कुछ मिला, तो यह लिनक्स नहीं होगा। क्षमा करें, यह केवल अविश्वसनीय रूप से निराशाजनक है, जंगली एकल पीछा का एक पूरा एसई पृष्ठ बिना इस पर एक भी उपयोगी समाधान के बिना केवल एक डेस्कटॉप पैनल को स्टॉक उबंटू पर चलने में त्रुटियों के बिना स्थापित करने के लिए मिलता है। मैं बहुत संदिग्ध हो रहा हूं कि लिनक्स वास्तव में बिल्कुल सही काम करता है।
जॉन स्मिथ

इससे मेरे मामले में कोई मदद नहीं मिली।
यूजीन जीआर। फिलिपोव

-4

sudo ln -sf /usr/lib/…"adapt-it"…/qt5/plugins/platforms/ / usr / bin /

यह प्रतीकात्मक लिंक बनाता है यह याद किया जाता है। क्यूटी के लिए अच्छा है! VLC के लिए अच्छा है !!


2
अपना उत्तर बताएं
अनंत राजू C

काम नहीं करता है। क्योंकि कुछ भी काम नहीं करता। यह पृष्ठ 100% गलत है, यहां "समाधान" का एक भी काम नहीं करता है।
जॉन स्मिथ

@ जोहानस्मिथ ने उत्तरों पर उत्थान की मात्रा को देखते हुए, उनमें से कुछ निश्चित रूप से कुछ लोगों के लिए काम करते हैं। दुर्भाग्य से आपके लिए कुछ भी काम नहीं करता है और मैं आपकी हताशा को समझ सकता हूं। लेकिन अगर कुछ भी काम नहीं करता है, तो अपने स्वयं के अनुसंधान करने का प्रयास करें और एक जवाब प्रस्तुत करें जो आपके मामले में काम करता है। मेरा मतलब है, चलो, आप 5 साल के लिए मंच का उपयोग कर रहे हैं और केवल 6 उत्तर हैं? मैं विनम्रतापूर्वक शिकायत करने के बजाय समुदाय को वापस देने का सुझाव दूंगा। हम एक दूसरे की मदद करने के लिए यहां हैं।
न्यूरोट्रांसमीटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.