Я пытался скомпилировать Qt для iOS, но у меня были некоторые сумасшедшие проблемы, которых, похоже, больше не было ни у кого (по крайней мере, в соответствии с тем, что я читал в последний день).
Я следовал инструкциям из этой статьи: url статьи
- Я клонировал последний Qt 4.8 из git:
$ git clone git://gitorious.org/qt/qt.git
- Я сделал
qt-lighthouse-ios-simulator
папка, перейдите к ней. - Я запустил длинную строку кода из статьи:
$ ../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
Лицензия pensource yes
Я принимаю соглашение
Я получаю эти ошибки:
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
После борьбы с этим, поиск здесь и там, и не нашел ничего полезного (даже ничего о том, что CGKeyCode илиCGCharCode на самом деле, я решил "взломать" его и просто добавил определения в pbuilder_pbx.cpp:
typedef u_int16_t CGCharCode; /* Character represented by event, if any */
typedef u_int16_t CGKeyCode; /* Virtual keycode for event */
Затем не удалось скомпилировать другой файл с теми же ошибками. Последобавив их в пару файлов, я в конце концов добавил их в qcore_mac_p.h, затем некоторые файлы пожаловалисьчто они не знали, что такое u_int16_t, поэтому я добавил
typedef unsigned short u_int16_t; /* compile, god damn you!!! */
в тот же заголовок.
Теперь все скомпилировано, но была ошибка компоновщика:
ld: in /System/Library/Frameworks//CoreGraphics.framework/CoreGraphics, missing required architecture x86_64 in file for architecture x86_64
Вот где я застрял.Любая помощь?
Дополнительная информация:
- gcc - версия: i686-apple-darwin10-g ++ - 4.2.1
- iOS SDK: у меня оба 4.2и 4.3
- версия OS X: 10.6.7
- версия Xcode (если это имеет значение): 4.0.2