আমি আমার বাইনারি শুরু করার চেষ্টা করেছি, কিউটি দিয়ে সংকলিত 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ডিরেক্টরি তৈরি করা উচিত যেখানে আপনার বাইনারি রয়েছে, কারণ এটি সেই জায়গা যেখানে Qt এক্সসিবি লাইব্রেরির সন্ধান করে। 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।