使用 GPUImage 归档 ios 应用程序时出现编译错误

Posted

技术标签:

【中文标题】使用 GPUImage 归档 ios 应用程序时出现编译错误【英文标题】:Compile error while archiving ios app with GPUImage 【发布时间】:2014-02-27 04:08:35 【问题描述】:

帮助!使用 Brad Larson 在 github 制作的 GPUImage 归档我的 ios 应用程序时出现此错误。

ld: warning: ignoring file libGPUImage.a, missing required architecture arm64 in file libGPUImage.a (3 slices)
    Undefined symbols for architecture arm64:
      "_OBJC_CLASS_$_GPUImageBrightnessFilter", referenced from:
          objc-class-ref in ProcessViewController.o
      "_OBJC_CLASS_$_GPUImageContrastFilter", referenced from:
          objc-class-ref in ProcessViewController.o
      "_OBJC_CLASS_$_GPUImagePicture", referenced from:
          objc-class-ref in ProcessViewController.o

当我使用设备或模拟器运行我的应用程序时,它运行良好,但是当我尝试归档它时,弹出了这个错误。 我该如何解决?

【问题讨论】:

【参考方案1】:

您需要为 ios 设备构建库

在将其添加到您的项目以存档之前。

【讨论】:

我将它添加到我的项目的方式是首先我在 GPUImage 文件夹中运行 build.sh,然后我只是将生成的 bin 和 lib 文件夹复制到我的项目中。然后,当我使用 ipad 进行测试时,我的项目运行良好。就在我想存档的时候,弹出了错误 我完全明白你的意思。您是在根文件夹中添加库还是单独引用? 你的库是为 IOS 设备构建的吗? 我刚刚为我的 iPad 成功构建了它。但是当我断开 iPad 并为 ios 设备构建它时,它失败并出现同样的错误。我不明白。我的 iPad 不是 ios 设备吗? 断开设备时是否会出现同样的问题?您正在检查您的项目,但我要求您为设备构建 【参考方案2】:

根据我与 rajesh 的聊天,我的问题的答案是,我需要将构建设置中的架构更改为 标准架构(无 arm64),以前是包括 64 位的架构

【讨论】:

还导入(与仅构建标准架构的设置相结合)将 TRUE 设置为发布版本的“仅构建活动架构”。

以上是关于使用 GPUImage 归档 ios 应用程序时出现编译错误的主要内容,如果未能解决你的问题,请参考以下文章

归档 iOS 应用程序时出现 Xcode 错误

归档 IOS 应用程序时出现代码设计错误

前缀标头中的 XCode 存档错误

归档时出现“没有这样的模块‘翠鸟’”错误

归档 iPhone 应用程序时出现奇怪的错误

将 GPUImage 框架添加到 IOS 项目