metallib:错误读取模块:无效的位码签名

时间:2018-10-25 15:16:57

标签: ios c iphone metal

我有以下Filter.metal文件

#include <metal_stdlib>
using namespace metal;
#include <CoreImage/CoreImage.h> // includes CIKernelMetalLib.h

extern "C" { namespace coreimage {

    float4 myColor(sample_t s) {

        return s.grba;
    }

}}

我正在尝试使用:

xcrun metal -fcikernel Filter.metal -o Filter.air
xcrun metallib -cikernel Filter.air -o Filter.metallib

但是我得到这个错误:

metallib: Error reading module: Invalid bitcode signature

我正在尝试创建自定义CIFIlter,我遵循以下步骤:https://medium.com/@shu223/core-image-filters-with-metal-71afd6377f4 教程。

我从https://developer.apple.com/metal/MetalCIKLReference6.pdf获得的命令行。

如何在没有此错误的情况下编译文件?

1 个答案:

答案 0 :(得分:3)

错误报告者的回复是:

  

Apple开发人员关系
  2018年10月29日,上午4:08

     

工程为您提供以下反馈:

     

此处的文档不正确。应该添加一个“ -c”来强制生成AIR文件,即

     
xcrun metal -fcikernel MyKernels.metal -c -o MyKernels.air
     

我们现在正在关闭此错误报告。

     

如果您对解决方案有疑问或意见,请使用该信息更新错误报告,以便我们回复。