【问题标题】:Xcode 6 - Could not build module 'Accelerate'Xcode 6 - 无法构建模块“加速”
【发布时间】:2014-06-18 15:35:10
【问题描述】:

我使用的是 Xcode 6 beta 2 (6A216f),一切正常,但是当我构建到 5s 以外的任何设备时,我得到 111 错误。 出现问题是因为我使用的是 FXBlurView 并且它导入了 Accelerate 框架。

我搜索了很多,找不到任何解决方案。这是错误:

It's too long so I uploaded to pastebin.

PS:我不知道你需要哪一部分,所以我上传了所有内容。

另外,如果我从 Bridging-Header 中删除 #import "FXBlurView.h" 我不会收到任何错误

编辑:所以我“解决”了我的问题。错误说编译器不知道 vFloat 是什么,所以我检查了 vecLibTypes.h 发现 vFloat 是在这段代码中定义的:

#elif defined(__i386__) || defined(__x86_64__)
#ifdef __SSE__
#if defined(__GNUC__)
#include <xmmintrin.h>
typedef float                   vFloat          __attribute__ ((__vector_size__ (16)));
#else /* not __GNUC__ */
#include <xmmintrin.h>
typedef __m128                          vFloat;
#endif /* __GNUC__ */
#endif  /* defined(__SSE__) */

如果我删除第一个#elif,我不会收到任何错误...

EDIT2:@Nick 找到了正确的解决方案

【问题讨论】:

  • 您必须在桥接头中 FXBlurView 的导入之上导入 Accelerate 框架。查看stackoverflow.com/questions/24272184/…的答案
  • 将我的文件桥接文件更改为:#import #import #import #import "FXBlurView.h" 它仍然不工作
  • 查看您的日志,错误似乎是在非 64 位设备上发生的 unknown type name 'vFloat'; did you mean 'float'。代码中是否存在仅针对 arm64 定义 vFloat 的地方?
  • 我相信 vFload 是在 Accelerate 框架内的 vecLibTypes.h 中定义的
  • 这个问题似乎在 Xcode 6 Beta 3 中得到修复。终于 :)

标签: ios xcode accelerate-framework


【解决方案1】:

如果您在实现文件中移动 Accelerate 导入语句,它会起作用。我分叉了项目以进行更改并提交了拉取请求。

https://github.com/nrbrook/fxblurview

【讨论】:

  • 我在 Beta 3 中仍然遇到问题,您的解决方案已为我解决了这个问题。谢谢
  • 回到 Xcode 6β5。看来这不再是问题了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
相关资源
最近更新 更多