Diese Anwendung konnte nicht gestartet werden, da konnte es nicht finden, oder laden Sie die Qt-Plattform-plugin "- xcb" in ""

Ich habe eine Anwendung, die läuft mit Qt5 (via PyQt). Ich bin mit miniconda und den python-code wurde cythonised. Der code wurde das setup auf meinem lokalen Rechner, der cython-code erzeugt aus dem ursprünglichen .py - Dateien und die entsprechenden Bibliotheken und Module installiert miniconda, so dass der code erfolgreich ausgeführt wird. Dann versende ich alles auf einem anderen Rechner kompilieren der cython-code zu geben .so Dateien und versuchen Sie, es auszuführen. An dieser Stelle erhalte ich die Fehlermeldung:

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

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

Ich habe mir um für eine lange Zeit nach möglichen Lösungen und ich habe die folgenden zusätzlichen Informationen:

Habe ich überprüft ldd auf die verschiedenen .so - Dateien. Alle scheinen zu finden, die die benötigten libraries.

Habe ich versucht locate libqxcb.so und dies gibt:
~/miniconda3/pkgs/qt-5.6.2-3/plugins/platforms/libqxcb.so
&
~/miniconda3/plugins/platforms/libqxcb.so

Basiert auf den Vorschlägen hier von TranslucentCloud, ich habe kopiert diese in das Verzeichnis ~/miniconda3/bin/platforms (neu erstellt).

Ich habe auch export QT_DEBUG_PLUGINS=1 im Skript ruft mein code. Dies gibt die folgende Ausgabe:

QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "~/miniconda3/bin/platforms/libqxcb.so"
Found metadata in lib ~/miniconda3/bin/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329218
}


Got keys from plugin meta data ("xcb")
loaded library "~/miniconda3/bin/platforms/libqxcb.so"
xkbcommon: ERROR: failed to add default include path ~/Programmes/miniconda3/lib
Qt: Failed to create XKB context!
Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/.
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/xcbglintegrations" ...
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/platformthemes" ...
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/platforminputcontexts" ...
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/styles" ...
Fontconfig error: Cannot load default config file
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/accessible" ...
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/accessiblebridge" ...
QXcbConnection: XCB error: 145 (Unknown), sequence: 165, resource id: 0, major code: 139 (Unknown), minor code: 20
QFactoryLoader::QFactoryLoader() checking directory path "~/miniconda3/bin/imageformats" ...
QLibraryPrivate::unload succeeded on "~/miniconda3/bin/platforms/libqxcb.so"

Die GUI lädt nun und Tasten usw. funktionieren. Allerdings gibt es immer noch ein paar Probleme - das kleine Problem ist, dass alle Schriften sind Verschieden von meiner lokalen Maschine (kein großes problem, aber vermutlich bezeichnend, dass es immer noch nicht finden, einige wichtige Bibliotheken).

Mehr ernst, die GUI reagiert nicht auf eine beliebige Taste drückt - das GUI hat viele Textfelder zu füllen, so macht es unbrauchbar.

Gibt es durchaus noch einige Fehler in der Ausgabe vor, es ist jedoch nicht ersichtlich, welche Bibliotheken etc. es ist immer noch nicht finden (oder warum dies der Fall ist).

  • Ich hatte das gleiche problem mit Qt-C++. im inneren der Qt-installation (auf Ihrem Rechner, wo Sie developp) dort ist ein Ordner namens "plugins". Sie sollten kopieren Sie diesen Ordner am gleichen Ort wie Ihre Anwendung und es sollte das problem lösen.
InformationsquelleAutor 218 | 2017-03-04
Schreibe einen Kommentar