air-lld: 错误:在升级Xcode到Xcode 12后,目标'air64-apple-ios12.0.0'中找不到符号。

5

错误如下:

在 'air64' 架构中未定义符号:_Z6dnoiseDv2_fPU9MTLdeviceKi,它被以下内容所引用:_Z9curlNoiseDv2_fhffPU9MTLdeviceKi,该内容在 nxNoise.air 中。 air-lld: 错误:目标“air64-apple-ios12.0.0”找不到符号 metal: 错误:air-lld 命令以退出码 1 失败 (使用 -v 查看调用)


你在做什么? - Argee
我真的不知道! - xaled
所有我使用 Metal 代码的项目都会出现这个问题 - 自从我升级到 Xcode 12 以后 - 目前还没有解决方案。 - mjrehder
虽然有点晚,但对我来说,问题是由于一些在头文件中声明但未在.m文件中实现的函数。移除这些函数的声明解决了我的问题。 - xaled
但是缺失的符号在Metal API中。这与.m文件有什么关系呢?看起来你正在使用一个noise函数? - Digital Solomon
2个回答

5
在项目目标的“构建设置”中找到“其他金属编译器标志”选项,并在“构建设置”的“金属编译器”和“金属链接器”部分添加“-fcikernel”值到该标志中。请参考以下截图:enter image description here

2
晚了但或许对某些人有用: 问题是由于一些在头文件中声明但未在.m文件中实现的函数。移除那些函数的声明解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接