Creador de Qt para Android Qt para Android
¿La versión de tu sistema Linux es demasiado baja, RHEL5? ¿CentOS5?
QT es para desarrollo de escritorio, por lo que no hay problema con distribuciones de Linux más nuevas como Ubuntu y Fedora. RHEL/CentOS6.x también debería funcionar.
Si realmente desea ejecutarlo en su sistema Linux actual y está familiarizado con Linux, puede encontrar una nueva versión de libstdc++.so.6 y usarla para ejecutar QtSDK (establezca LD_LIBRARY_PATH). Aun así, no hay garantía de que no dependa de nuevas versiones de otras bibliotecas.
¿Pueden los teléfonos Android utilizar QT?
Existe una versión para Android, pero tiene demasiados problemas y cuesta utilizarla con normalidad. Lo instalé, pero hay demasiados problemas.
¿Cómo ejecutar tu propio programa QT en los ordenadores de otras personas?
Puede consultar SQLiteStudio, una herramienta de administración SQLite multiplataforma escrita en Qt. Encapsula la biblioteca Qt dependiente, se puede descomprimir y usar inmediatamente y es compatible con diferentes distribuciones de Linux. La razón es en realidad similar a la biblioteca Qt para programas Qt de Windows.
Pase parámetros al vinculador antes de la compilación:
Descripción:
-Wl le dice al compilador que pase los siguientes parámetros al vinculador.
Rpath es un parámetro de gcc. Cuando se carga el programa, buscará bibliotecas compartidas en el directorio rpath.
La información del directorio agregada por rpath se guarda en el archivo ejecutable.
$ORIGIN indica el directorio donde se encuentra el archivo ejecutable.
Es decir, el programa en tiempo de ejecución primero cargará la biblioteca dependiente en la biblioteca de su propio directorio. Si no, buscará en la biblioteca del sistema.
Si su programa no pasa el parámetro rpath al compilar, también puede usar patchelf para modificar el rpath del programa:
Nota: eliminar el archivo después de que patchelf lo modifique causará daños en el archivo.
Por lo tanto, primero debe usar strip para eliminar la tabla de símbolos y reducir el archivo binario, y luego usar patchelf para configurar rpath.
Además, no existe la biblioteca glibc ni el enlazador de bibliotecas ld-linux.so.3 en Android.
Si desea ejecutar el software DebianARM en Android (como Raspbian para Raspberry Pi), también puede empaquetar las bibliotecas * * * de las que depende el programa para que el programa también pueda ejecutarse en Android, como como PHP:
Es decir, colocas el enlazador de bibliotecas ld-linux-armhf.so.3 y las bibliotecas de las que depende PHP en /data/local/tmp/web/lib, y luego configuras cada una nombre. Ahora puede ejecutar PHP Raspberry Pi en adbshell de Android.
Por supuesto, también puedes usar patchelf para configurar el intérprete PHP y rpath, y el efecto es similar: