Escribí una aplicación para Linux que usa Qt5.
Pero cuando intento iniciarlo en Linux sin Qt SDK instalado, el resultado en la consola es:
Failed to load platform plugin "xcb". Available platforms are:
¿Cómo puedo arreglar esto? ¿Quizás necesito copiar algún archivo de complemento? Cuando uso Ubuntu con Qt5 instalado, pero cambio el nombre del directorio Qt, ocurre el mismo problema. Entonces, usa algún archivo del directorio qt ...
Encontré el archivo libqxcb.soen el directorio Qt SDK, pero colocarlo /usr/libno ayuda.

plugins/platformsa/usr/bin? Elplatformsdirectorio contiene bibliotecas compartidas,/usr/binse utiliza para archivos binarios. ¿No deberíanplatformsentrar los contenidos de/usr/lib?/usr/bin/platforms(no sé por qué). Entonces esta respuesta también funcionó para mí: stackoverflow.com/a/25437758/2249798Para cualquier lector futuro que se encuentre con esto, antes de comenzar (peligrosamente) a jugar con enlaces simbólicos a bibliotecas compartidas, le sugiero encarecidamente que ejecute
export QT_DEBUG_PLUGINS=1y luego ejecute su ejecutable que falla en la Terminal. Lea el mensaje de error real emitido por QT, ya que ninguna de las soluciones anteriores abordó la causa de este error en mi caso.
Mi salida después de encender
QT_DEBUG_PLUGINSfue:entonces busqué en Google el
version `ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16))error y encontré la solución a eso , lo que resolvió el problema.fuente
Recibí este mensaje de error al intentar ejecutar "Stellarium".
Con strace descubrí que faltaba el archivo
libxcb-xinerama.so.0. Tuve que reinstalarlibxcb-xinerama0para que funcione:fuente
Intenta instalar el
libqt5x11extras5paquete con el comando:sudo apt-get install libqt5x11extras5El nombre puede ser diferente. Puede resolverlo buscando:
sudo apt-cache search qt5 | grep 'X11 extras'y obtienes el nombre del paquete como resultado:
fuente
Ejecute ldd en el ejecutable de su aplicación para ver cómo resuelve las dependencias de la biblioteca.
Además, esta es una lectura obligada para comprender qué bibliotecas esenciales se necesitan en el caso simple de la aplicación GUI:
http://qt-project.org/doc/qt-5/linux-deployment.html
fuente
En mi ubuntu escribe:
Puede trabajar
fuente
Para aquellos que todavía están atrapados después de probar cualquier otra opción en Internet, puede buscar la ruta exacta desde la que se busca esta notoria
libqxcb.so, para abrir / cargar laQtaplicación (VirtualBox-5.2.8es laQtaplicación en mi caso), usando el herramienta strace . En mi caso, como estaba construyendoVirtualBox-5.2.8desde su fuente, estaba buscandolibqxcb.soen la ubicación a continuación:"...VirtualBox-5.2.8/out/linux.amd64/release/bin/platforms/"y no en lasdefaultrutas de la biblioteca, laQtruta de instalación, etc. Por lo tanto, ninguna de laslddcomprobaciones y otras soluciones funcionaron. Y la configuraciónQT_DEBUG_PLUGINS=1tampoco produjo ningún registro adicional.Ejecutando strace en el binario VirtualBox que construí usando Clang / LLVM en Ubuntu 17.10 x86_64:
Esa era mi
hitting-the-nail-on-its-headmomento, y creó elsymlinkde la instalaciónQt5.10.1'splatformsdirectorio se mencionan a continuación:"...Qt5.10.1/Tools/QtCreator/lib/Qt/plugins/platforms/"en el camino que se busca"...VirtualBox-5.2.8/out/linux.amd64/release/bin/". Por lo tanto,VirtualBox-5.2.8construido desde la fuente en Linux (Ubuntu 17.10 x86_64) utilizandoClang/LLVM, finalmente lanzado con éxito !De hecho, otra cosa interesante aquí es que, he construido
VirtualBox-5.2.8íntegramente conClang/Clang++/LLVMelUbuntu 17.10 x86_64después de un esfuerzo importante - paraFreeBSD, ya hay un puerto para la construcción deVirtualBoxutilizarclang, pero para Linux, es muy dependiente deGCClo que vi y por lo tanto, se tomó un gran esfuerzo para conseguir hasta este punto para poder construir con éxitoVirtualBox-5.2.8desde su fuente usandoClang/Clang++/LLVMonUbuntu 17.10 x86_64for targetLinux/AMD64(Ubuntu 17.10 x86_64) y ejecutarlo con éxito después de resolver otros problemas junto con este notoriolibqxcb.so.Salud.
fuente
Así es como resuelvo algunos problemas cuando estoy ejecutando el emulador en Ubuntu 18.04.
Agregue las siguientes líneas al final del archivo. Instalo mi SDK de Android en
/opt/Android/Sdkfuente
Ejecutar esto me lo resolvió:
fuente
Parece que pueden faltar varias cosas diferentes detrás de esto. En mi caso (Debian 9.7), QT_DEBUG_PLUGINS = 1 ayudó a rastrear las bibliotecas faltantes, y
$ sudo apt-get install libxcb-render-util0 libxcb-image0 libxcb-keysyms1 libxcb-icccm4
resuelve el problema.
fuente
Cree el archivo qt.conf en su proyecto y agregue:
https://doc.qt.io/qt-5/qt-conf.html
fuente
Copie
plugins/platforms/libqxcb.sodesde suqtinstalación aplatforms/libqxcb.soen el directorio de su aplicación.fuente