es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La característica ‘tslib’ fue habilitada, pero la precondición ‘libs.tslib’ falló (compilación cruzada de Qt5)

Realicé la compilación cruzada de Qt5.12.11 para ARM sin soporte para tslib, y fue exitosa. Ahora necesito agregar el soporte para tslib. Ya tengo el tslib compilado cruzado para mi arquitectura de destino. Agrego -tslib a mi configuración de esta manera, especificando la ruta de inclusión y librería con -I y -L:

./configure -opensource -confirm-license -xplatform arm-cortex_a8-linux-gnueabi-g++ -prefix myInstallDir/ -no-opengl -no-pch -I /path/to/tslib/include/ -L /path/to/tslib/lib/ -tslib

En el archivo configure.log puedo ver lo siguiente:

loaded result for library config.qtbase_gui.libraries.tslib
Trying source 0 (type inline) of library tslib …
None of [libts.so libts.a] found in [] and global paths.
=> source produced no result.
test config.qtbase_gui.libraries.tslib FAILED

Traté de agregar las siguientes líneas a mi qtbase/mkspecs/arm-cortex_a8-linux-gnueabi-g++/qmake.conf:

QMAKE_INCDIR += /path/to/tslib/include/
QMAKE_LIBDIR += /path/to/tslib/lib/

sin éxito. También intenté agregar /path/to/tslib/lib a la variable de entorno LD_LIBRARY_PATH, pero nada cambió. ¿Es un problema relacionado con la localización de las rutas de librería e inclusión de tslib? ¿Alguien puede darme alguna sugerencia por favor? Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para añadir soporte de tslib a Qt5.12.11 compilado cruzadamente para arm

    Basándote en el mensaje de error del archivo configure.log, parece que los archivos de la biblioteca tslib no se encuentran en la ruta de la biblioteca especificada. Para solucionar este problema, puedes intentar los siguientes pasos:

    1. Revisa el nombre y la ubicación del archivo o archivos de la biblioteca tslib que has compilado cruzadamente. Asegúrate de que sea compatible con la arquitectura objetivo y tenga la convención de nomenclatura adecuada (por ejemplo, libts.so o libts.a).
    2. Verifica dos veces el deletreo y la sintaxis de las marcas -I y -L en tu comando de configuración. Asegúrate de que apunten a los directorios correctos y que estén separados por un espacio.

    3. Prueba usando rutas absolutas tanto para los directorios de inclusión como para los de la biblioteca tslib, solo para eliminar cualquier problema de ruta relativa.

    4. Añade la opción -v a tu comando de configuración con el fin de ver una salida detallada y así poder rastrear donde el enlazador está buscando los archivos de la biblioteca.

    5. Si todo lo demás falla, intenta copiar el archivo o archivos de la biblioteca tslib directamente en el directorio de instalación de Qt (que debería ser myInstallDir/lib en este caso). Luego ejecuta ldconfig o actualiza la variable de entorno LD_LIBRARY_PATH para asegurarte de que el enlazador pueda encontrarlo.

    Esperamos que esto te ayude a añadir correctamente el soporte de tslib a tu Qt5.12.11 compilado cruzadamente para arm.

Comments are closed.