Вопрос

Я пытался скомпилировать QT для iOS, но у меня были некоторые сумасшедшие проблемы, с которыми, кажется, не было (по крайней мере, в соответствии с тем, что я читал в последний день).

Я следовал инструкциям из этой статьи:статья URL

  1. Я клонировал последний QT 4.8 от GIT: $ git clone git://gitorious.org/qt/qt.git
  2. Я сделал qt-lighthouse-ios-simulator Папка, CD на него.
  3. Я запустил длинную линию кода из статьи: $ ../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. oПенсорс лицензия
  5. 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
Это было полезно?

Решение

Проблема как -то волшебным образом не существует, когда я попробовал одно и то же на другом Mac с OS X 10.7.1

Я понятия не имею, как и почему, но теперь Qmake компилируется и ссылки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top