air-lld: error: symbol(s) not found for target 'air64-apple-ios12.0.0' after update xcode to xcode 12
Asked Answered
L

2

5

here is the error:

Undefined symbol(s) for architecture 'air64':_Z6dnoiseDv2_fPU9MTLdeviceKi', referenced from:_Z9curlNoiseDv2_fhffPU9MTLdeviceKi in nxNoise.air air-lld: error: symbol(s) not found for target 'air64-apple-ios12.0.0' metal: error: air-lld command failed with exit code 1 (use -v to see invocation)

Loesch answered 21/9, 2020 at 1:17 Comment(5)
and what are you doing?Lording
I really dont know!Loesch
Happens to all my Projects where I use metal code - since I upgraded to Xcode 12 - No solution yetCerebration
Late, but for me, the problem was due to some functions which were declared in header files but not implemented inside .m files. remove that function's declarations solved my problem.Loesch
But the missing symbols were in the Metal APIs. What does that have to do with .m files? Looks like you were using a noise function?Epicenter
H
6

Find the Other Metal Compiler Flags option in the project target Build Settings and add -fcikernel value to that flag in the Metal Compiler and Metal Linker section of Build Settings.

enter image description here

Hawsehole answered 29/8, 2022 at 10:52 Comment(0)
L
2

Late but maybe useful for someone: The problem was due to some functions which were declared in header files but not implemented inside .m files. remove that function's declarations solved my problem.

Loesch answered 14/3, 2021 at 23:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.