如果忽略警告,则将simd_float4x4与ocmock一起使用会导致“未知编码”警告/错误+ segfault

问题描述

我正在尝试对具有返回simd_float4x4矩阵(如ARRaycastResult)的属性的ARKit对象使用ocmock,这显然行不通。编译时出现此错误/警告:

encoding of 'typeof (_val)' (aka 'const simd_float4x4') type is incomplete because 'float __attribute__((ext_vector_type(4)))' (vector of 4 'float' values) component has unkNown encoding [-Werror,-Wencode-type]

如果添加标志以忽略此标志(“ -Wno-encode-type”),则可以构建,但是随后在尝试模拟这些属性之一以返回simd_float4x4的那一行上出现了段错误: / p>

const simd_float4x4 hit_transform_simd;

ARRaycastResult* raycast_result = OCMClassMock([ARRaycastResult class]);
OCMStub([raycast_result worldTransform]).andReturn(hit_transform_simd); // <- segfault

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)