0

Xcode gives me this weird error: Use of undeclared identifier 'vabs_s8'

File path: /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/usr/include/simd/common.h

This file is included by GameKit framework: GameKit.h => simd.h => vector.h => common.h

Any suggestions how to fix this?

fmor
  • 13
  • 1
  • 4

2 Answers2

0

This error is to do with the architecture your targeting. A simple workaround is to place these at the top of common.h file.

#undef arm64 #undef arm

0

As you've noticed,gamekit includes simd/common.h in which ‘vabs_s8()’ function is undeclared.

Naturally, simd/common.h includes simd/base.h -> and -> simd/base.h includes arm_neon.h if ARM_NEON is defined. In arm_neon.h we have the declaration of ‘vabs_s8()’ function.

So if vabs_s8 is undeclared means the header is not included which means __ARM_NEON__ is not defined.

__ARM_NEON__ is enabled by default if you target armv7/arm64, so this means there might be something wrong with your project settings.

Solution: One of our programmers found out that adding "-mfpu=neon" in Other C Flags fixes this issue.

Sisky
  • 216
  • 2
  • 13