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

  1. Ho clonato l'ultimo Qt 4.8 da Git: $ git clone git://gitorious.org/qt/qt.git
  2. Ho fatto il qt-lighthouse-ios-simulator cartella, cd ad esso.
  3. 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
  4. oLicenza Pensurce
  5. yes 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
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top