5

我一直在尝试为 iOS 编译 Qt,但我遇到了一些其他人似乎没有遇到的疯狂问题(至少根据我在过去一天读到的内容)。

我按照这篇文章的说明进行操作:文章网址

  1. 我从 git 克隆了一个最新的 Qt 4.8:$ 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 --version : i686-apple-darwin10-g++-4.2.1
  • iOS SDK:我有 4.2 和 4.3
  • OS X 版本:10.6.7
  • Xcode 版本(如果重要):4.0.2
4

1 回答 1

0

当我在另一台装有 OS X 10.7.1 的 Mac 上尝试同样的事情时,这个问题不知何故不存在

我不知道如何以及为什么,但现在 qmake 编译和链接。

于 2012-01-16T13:12:18.670 回答