ejecutar - Procesadores C++/QT/ARM compilación cruzada/Programación
compilar en cmd con gcc (1)
P. ¿Es importante que las computadoras host y de destino tengan la misma arquitectura, quiero decir que ambas deberían ser de 32 bits (x86 o i586 / i686) o ambas deberían ser de 64 bits (x86_64)?
No, puedes hacer cualquier variación, aunque nunca he visto un host de 32 bits y un objetivo de 64 bits. La otra combinación debería funcionar de acuerdo a mi conocimiento.
P. ¿Es importante usar qué versión de GCC con Qtopia? Otra cosa es ¿qué versión de QT / Embedded debería usarse?
Si, es importante No mezcle software antiguo y nuevo, ya que no encajarán bien entre sí.
P. ¿Tengo que usar las versiones anteriores de QT / Embedded como Qtopia o puedo usar las versiones más recientes como qt-everywhere-opensource-src-4.8.4?
No. De hecho, no use Qtopia la antigua, intente utilizar una versión reciente de Qt como Qt 5.2. La razón es simplemente el hecho de que son defectos de diseño, y no recibe mantenimiento en estos días.
Otro problema es acerca de la versión del kernel: ¿es importante Q. ¿Es importante que las computadoras host y target tengan el mismo número de kernel (xyz)?
No, casi siempre es diferente, en realidad. Esto se debe al hecho de que hay tantas variedades del kernel de Linux, utilizadas por diferentes distribuciones o generadores de distribución.
Por último, le agradezco que brinde su guía general / práctica / consejos para la compilación cruzada de x86 GCC a la plataforma FreindlyARM.
Si quieres construir Qt por tu cuenta para tu objetivo, deberás prestar atención a las opciones de -platform
y -xplatform
. El primero define su plataforma de host, y el segundo la plataforma de destino integrada.
Básicamente, necesita hacer que qmake tenga soporte adecuado para su placa en forma de archivos mkspecs. Si no es así, es relativamente fácil obtener uno desde cero en función de los existentes.
Cuando construya su software para la placa integrada, necesitará usar la opción -spec
en un proyecto basado en qmake para seleccionar el objetivo correcto.
También sugeriría considerar a QtCreator como un recién llegado, donde puede configurar correctamente los "kits", personalizar los pasos de implementación, etc. Tiene una gran cantidad de compatibilidad integrada de desarrollo de herramientas cruzadas.
queridos desarrolladores de {C ++ | QT | ARM Processors}
Hola
Recientemente, estoy involucrado en un proyecto de desarrollo de software de Procesador QT / ARM. Los componentes generales del proyecto son:
Processor: Mini440 FriendlyARM (400 MHz Samsung S3C2440 ARM926T),
www.friendlyarm.net
www.arm9.net
OS: Linux (Kernel version 2.6.32)
Programming Language: C++ (GCC/g++)
GUI Framework: QT
El objetivo principal del proyecto es desarrollar una GUI para el dispositivo portátil incorporado, utilizando QT / Embedded Linux.
La salida del comando uname -a en la computadora host (máquina de desarrollo) es:
$ uname -a
Linux scorpion 3.5.0-39-generic # 60 ~ precise1-Ubuntu SMP Mié 14 de agosto 15:38:41 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux
La salida del comando uname -a en el dispositivo basado en ARM incrustado es:
Liunx FriendlyARM 2.6.32-FriendlyARM # 5 Wed Jun 6 15:50:50 HKT 2012 armv4tl unknown.
Mi primera pregunta es:
P. ¿Es importante que las computadoras host y de destino tengan la misma arquitectura, quiero decir que ambas deberían ser de 32 bits (x86 o i586 / i686) o ambas deberían ser de 64 bits (x86_64)?
Hice los siguientes pasos:
Escribí una GUI simple usando QT Creator (2.7.0) basado en QT Designer (5.0.2) en una máquina Linux de escritorio (computadora host)
Basado en el conocimiento, que obtuve en los últimos dos meses de libros e Intenet sobre compilación cruzada, y Tool-chain y otros muchos conceptos relacionados, descubrí que tengo que instalar otro software de Trolltech llamado Qtopia, la versión incrustada de QT. Intento instalar la última versión de Qtopia llamada qtopia-core-opensource-src-4.3.5 en este punto tuve muchos problemas en la configuración, construcción y creación del software. Un problema es que g ++ en el host es 4.8.1 (muy nuevo), pero el Qtopia es hace unos 7 años. Cuando intento construir Qtopia desde el código fuente, el compilador de g ++ emite varios errores de C ++, por ejemplo:
error: ''ptrdiff_t'' no nombra un error de tipo: ''append'' no fue declarado en este ámbito, y no hay declaración, donde se encuentra mediante la búsqueda dependiente del argumento
Por supuesto, resolví estos problemas, pero es obvio que g ++ publica estos errores porque Qtopia se escribió utilizando C ++ 98, pero g ++ 4.8.1 se basa en C ++ 11 mis preguntas son:
P. ¿Es importante usar qué versión de GCC con Qtopia? Otra cosa es ¿qué versión de QT / Embedded debería usarse?
P. ¿Tengo que usar las versiones anteriores de QT / Embedded como Qtopia o puedo usar las versiones más recientes como qt-everywhere-opensource-src-4.8.4?
Otro problema es acerca de la versión del kernel: ¿es importante Q. ¿Es importante que las computadoras host y target tengan el mismo número de kernel (xyz)?
Como puede ver, perdí detalles de compilación cruzada y portado del software escrito desde el host al dispositivo incorporado. Casi no tengo problemas en usar QT y escribir C ++ en la versión de escritorio. Por último, le agradezco que brinde su guía general / práctica / consejos para la compilación cruzada de x86 GCC a la plataforma FreindlyARM.
Por favor arroja algo de luz
TIA
Saeed Amrollahi Boyouki