Compilación de Qt para iOS (Lighthouse Uikit)
-
27-10-2019 - |
Pregunta
He estado tratando de compilar QT para iOS, pero he tenido algunos problemas locos que nadie parece tener (al menos según lo que leí en el último día).
Seguí las instrucciones de este artículo:URL del artículo
- Cloné un último Qt 4.8 de Git:
$ git clone git://gitorious.org/qt/qt.git
- Hice el
qt-lighthouse-ios-simulator
carpeta, CD a ella. - Realicé la larga línea de código del artículo:
$ ../qt/configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
o
licencia de pensamientoyes
acepto el acuerdo
Entiendo estos errores:
In file included from /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Accessibility.h:13,
from /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/HIServices.h:49,
from /System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:34,
from generators/mac/pbuilder_pbx.cpp:56:
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/AXUIElement.h:65: error: CGCharCode has not been declared
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/AXUIElement.h:65: error: CGKeyCode has not been declared
Después de luchar con esto, buscar aquí y allá, y no encontrar nada útil (incluso nada sobre lo que realmente son cgkeycode o cgcharcode, decidí "hackearlo" y simplemente agregué las definiciones a pbuilder_pbx.cpp:
typedef u_int16_t CGCharCode; /* Character represented by event, if any */
typedef u_int16_t CGKeyCode; /* Virtual keycode for event */
Luego, otro archivo no pudo compilar, con los mismos errores. Después de agregarlos a un par de archivos, finalmente los agregué a Qcore_MAC_P.H, luego algunos archivos se quejaron de que no sabían qué era U_INT16_T, así que agregué
typedef unsigned short u_int16_t; /* compile, god damn you!!! */
al mismo encabezado.
Ahora todo compilado, pero hubo este error de enlazador:
ld: in /System/Library/Frameworks//CoreGraphics.framework/CoreGraphics, missing required architecture x86_64 in file for architecture x86_64
Aquí es donde estoy atrapado. ¿Alguna ayuda?
Información Adicional:
- GCC-Versión: i686-Apple-Darwin10-G ++-4.2.1
- iOS SDK: Tengo 4.2 y 4.3
- Versión de OS X: 10.6.7
- Versión xcode (si importa): 4.0.2
Solución
El problema de alguna manera mágicamente no existe, cuando probé lo mismo en una Mac diferente con OS X 10.7.1
No tengo idea de cómo y por qué, pero ahora Qmake compila y enlaces.