Compilazione Qt per iOS (Uikit Lighthouse)
-
27-10-2019 - |
Domanda
Ho cercato di compilare QT per iOS, ma ho avuto alcuni problemi folli che nessun altro sembra avere (almeno secondo quello che ho letto nel giorno passato).
Ho seguito le istruzioni di questo articolo:URL dell'articolo
- Ho clonato l'ultimo Qt 4.8 da Git:
$ git clone git://gitorious.org/qt/qt.git
- Ho fatto il
qt-lighthouse-ios-simulator
cartella, cd ad esso. - Ho eseguito la lunga riga di codice dall'articolo:
$ ../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
Licenza Pensurceyes
accetto l'accordo
Ricevo questi errori:
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
Dopo aver lottato con questo, cercare qua e là e non aver trovato nulla di utile (anche nulla di ciò che Cgkeycode o CGCharcode in realtà sono, ho deciso di "hackerarlo" e ho appena aggiunto le definizioni a pbuilder_pbx.cpp:
typedef u_int16_t CGCharCode; /* Character represented by event, if any */
typedef u_int16_t CGKeyCode; /* Virtual keycode for event */
Quindi un altro file non poteva compilare, con gli stessi errori. Dopo averli aggiunti a un paio di file, alla fine li ho aggiunti a qcore_mac_p.h, quindi alcuni file si sono lamentati del fatto che non sapevano cosa fosse U_INT16_T, quindi ho aggiunto
typedef unsigned short u_int16_t; /* compile, god damn you!!! */
alla stessa intestazione.
Ora tutto ha compilato ma c'è stato questo errore di linker:
ld: in /System/Library/Frameworks//CoreGraphics.framework/CoreGraphics, missing required architecture x86_64 in file for architecture x86_64
Ecco dove sono bloccato. Qualsiasi aiuto?
Informazioni aggiuntive:
- GCC --Version: I686-Apple-Darwin10-G ++-4.2.1
- iOS SDK: ho sia 4.2 che 4.3
- Versione OS X: 10.6.7
- Versione xcode (se conta): 4.0.2
Soluzione
Il problema in qualche modo magicamente non esiste, quando ho provato la stessa cosa su un Mac diverso con OS X 10.7.1
Non ho idea di come e perché, ma ora Qmake compila e si collegano.