我一直在尝试为 iOS 编译 Qt,但我遇到了一些其他人似乎没有遇到的疯狂问题(至少根据我过去一天读到的内容)。
我按照这篇文章中的说明进行操作:文章网址 http://labs.qt.nokia.com/2011/08/09/update-on-uikit-lighthouse-platform/
- 我从 git 克隆了最新的 Qt 4.8:
$ git clone git://gitorious.org/qt/qt.git
- 我做了
qt-lighthouse-ios-simulator
文件夹,cd 到它。
- 我运行了文章中的一长行代码:
$ ../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
笔源许可证
-
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