【发布时间】: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