【问题标题】:Xcode and Qt4iOS error while doing build构建时 Xcode 和 Qt4iOS 错误
【发布时间】:2012-04-25 09:36:08
【问题描述】:

当我想构建使用 Qt4iOS 和 Xcode 4.2 的项目时遇到此错误。

问题是当我在 Qt 中构建项目时,我的 GCC 编译器设置为 x86。

我使用 Xcode 的系统是 x64,但昨天一切正常。现在突然我得到了这个错误。而且我尝试使用 x64 编译器构建我的 Qt 项目,但我仍然遇到同样的错误。

知道出了什么问题吗?

【问题讨论】:

  • 您的构建中可能存在混合架构,您的链接库的lipo -info libImenik.alipo -info libqios.a 的输出是什么?
  • 当我尝试执行这个命令时,我得到了找不到命令的错误。这就是它所说的:-bash: libo: command not found
  • 你拼错了,应该是lipo(位于/usr/bin)而不是libo
  • @alexleutgoeb 是的,这是我的错误......反正有人说:arm7 i386,另一个只是 arm7

标签: ios xcode macos qt


【解决方案1】:

也许只是按照说明进行操作会有所帮助?当您不跟随他们时,您会浪费每个人的时间。特别是,这个问题的答案是:

“Qt4iOS SDK 已构建为“通用二进制”,包含 ARM(设备)和 x86(模拟器)目标的可链接目标代码。在构建应用程序项目时,需要为任一设备构建它或模拟器。为模拟器构建时,需要在运行 qmake 时指定 mkspec。

Xcode 4.2.x(及更早版本):
/Developer/Qt4iOS/qt-everywhere-ios-gles2-4.8.1/bin/qmake animatedtiles.pro –spec qpa/macx-iossimulator-clang-legacy

Xcode 4.3.x(及更高版本):
/Developer/Qt4iOS/qt-everywhere-ios-gles2-4.8.1/bin/qmake animatedtiles.pro –spec qpa/macx-iossimulator-clang"

【讨论】:

    【解决方案2】:

    根据您的 cmets,您似乎没有使用 x86 编译器为模拟器构建应用程序(您的库是 armv7 atm)。

    尝试将模拟器编译器添加为 Qt Creator(位于 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++)中的新工具链,就像您为设备编译器所做的那样,并将新的编译器用于您的下一个模拟器构建。

    您可以再次使用 lipo 检查生成的库。

    【讨论】:

    • 问题是我使用的是 Qt4iOS 提供的 clang 编译器,但也许我需要重新安装它
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    相关资源
    最近更新 更多