简短的回答: iOS的11/MacOS的10.13 SDK重命名许多SIMD类型和功能, 前缀matrix_
被simd_
取代。
较长答案:
的Xcode 8使用的iOS 10.3(分别MACOS 10.12。)SDK,和限定 的SIMD矩阵类型作为
typedef struct { vector_float2 columns[2]; } matrix_float2x2;
和功能
static matrix_float2x2 __SIMD_ATTRIBUTES__ matrix_linear_combination(float __a, matrix_float2x2 __x, float __b, matrix_float2x2 __y);
这些被导入到夫特3作为
public struct matrix_float2x2 { ... }
// ...
和
public func matrix_linear_combination(_ __a: Float, _ __x: matrix_float2x2, _ __b: Float, _ __y: matrix_float2x2) -> matrix_float2x2
// ...
的Xcode 9使用了iOS 11(相应的MACOS 10.13)SDK和限定 类型作为
typedef struct { simd_float2 columns[2]; } simd_float2x2;
// ...
和
static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y);
// ...
这些被导入到夫特4作为
public struct simd_float2x2 { ... }
// ...
和
public func simd_linear_combination(_ __a: Float, _ __x: simd_float2x2, _ __b: Float, _ __y: simd_float2x2) -> simd_float2x2
// ...
唉功能,我已经导入simd (导入simd.matrix不会带来任何价值)。 –
@StéphanedeLuca:它们只是在Swift 3和4之间重新命名。它与iOS版本无关。我只提到'simd.matrix',因为那是你找到定义的地方。 –
是的,但用simd.matrix替换import simd只会做什么。我仍然有这个问题。我拼图...我编译针对iOS 11的Xcode 9 beta 2(9.0版beta/9M136h)。 –