Ios WebP编码-';架构中未找到符号';问题

Ios WebP编码-';架构中未找到符号';问题,ios,swift,webp,Ios,Swift,Webp,我目前正在做一个iOS移动应用示例(Xcode 7,Swift 2.2),它可以对WebP图像进行编码和解码。我已经下载了WebP框架的预编译版本,并使用桥接头文件包含在我的项目中。在使用WebPDecodeRGBA解码WebP图像时,它工作正常。但是,当我使用WebPEncodeRGB将jpg图像转换为WebP格式时,它会显示编译时错误,如下所示: Undefined symbols for architecture i386: "_WebPEncodeRGB", refer

我目前正在做一个iOS移动应用示例(Xcode 7,Swift 2.2),它可以对WebP图像进行编码和解码。我已经下载了WebP框架的预编译版本,并使用桥接头文件包含在我的项目中。在使用WebPDecodeRGBA解码WebP图像时,它工作正常。但是,当我使用WebPEncodeRGB将jpg图像转换为WebP格式时,它会显示编译时错误,如下所示:

Undefined symbols for architecture i386:   
      "_WebPEncodeRGB", referenced from:
          static (extension in WebpImageTest):__ObjC.UIImage.imageToWebPData (__ObjC.NSData) -> __ObjC.UIImage? in ViewController.o  
      "_WebPEncodeRGB", referenced from:  
          WebpImageTest.ViewController.imageToWebPData (__ObjC.NSData) -> __ObjC.UIImage? in ViewController.o  
    ld: symbol(s) not found for architecture i386  
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
func imageToWebPData(jpgImageData:NSData) -> UIImage? {  
    let imag = UIImage(data: jpgImageData)
    let compressionLevel = 10
    let inputImageWidth = imag!.size.width
    let inputImageHeight = imag!.size.height
    let image:CGImage = imag!.CGImage!
    let provider: CGDataProviderRef? = CGImageGetDataProvider(image)
    let bitmap: CFDataRef? = CGDataProviderCopyData(provider)

    let rgb: UnsafePointer<UInt8> = CFDataGetBytePtr(bitmap)
    let width: Int32 = Int32(inputImageWidth)
    let height: Int32 = Int32(inputImageHeight)
    let stride: Int32 = Int32(CGImageGetBytesPerRow(image))
    let qualityFactor: Float = Float(compressionLevel)

    var webp: NSData
    var output: UnsafeMutablePointer<UInt8> = nil
    var size: size_t = 0

    size = WebPEncodeRGB(rgb,width,height,stride,qualityFactor,&output)

    let afterByteLength = Int(size)
    webp = NSData(bytes: output, length: afterByteLength)
    free(output)
    return UIImage(data: webp)
  }
我添加了编码代码作为viewcontroller类的函数,如下所示:

Undefined symbols for architecture i386:   
      "_WebPEncodeRGB", referenced from:
          static (extension in WebpImageTest):__ObjC.UIImage.imageToWebPData (__ObjC.NSData) -> __ObjC.UIImage? in ViewController.o  
      "_WebPEncodeRGB", referenced from:  
          WebpImageTest.ViewController.imageToWebPData (__ObjC.NSData) -> __ObjC.UIImage? in ViewController.o  
    ld: symbol(s) not found for architecture i386  
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
func imageToWebPData(jpgImageData:NSData) -> UIImage? {  
    let imag = UIImage(data: jpgImageData)
    let compressionLevel = 10
    let inputImageWidth = imag!.size.width
    let inputImageHeight = imag!.size.height
    let image:CGImage = imag!.CGImage!
    let provider: CGDataProviderRef? = CGImageGetDataProvider(image)
    let bitmap: CFDataRef? = CGDataProviderCopyData(provider)

    let rgb: UnsafePointer<UInt8> = CFDataGetBytePtr(bitmap)
    let width: Int32 = Int32(inputImageWidth)
    let height: Int32 = Int32(inputImageHeight)
    let stride: Int32 = Int32(CGImageGetBytesPerRow(image))
    let qualityFactor: Float = Float(compressionLevel)

    var webp: NSData
    var output: UnsafeMutablePointer<UInt8> = nil
    var size: size_t = 0

    size = WebPEncodeRGB(rgb,width,height,stride,qualityFactor,&output)

    let afterByteLength = Int(size)
    webp = NSData(bytes: output, length: afterByteLength)
    free(output)
    return UIImage(data: webp)
  }
func-imageToWebPData(jpgImageData:NSData)->UIImage?{  
设imag=UIImage(数据:jpgImageData)
让压缩水平=10
让inputImageWidth=imag!.size.width
让inputImageHeight=imag!.size.height
让image:CGImage=imag!.CGImage!
let提供程序:CGDataProviderRef?=CGImageGetDataProvider(图像)
let位图:CFDataRef?=CGDataProviderCopyData(提供程序)
设rgb:UnsafePointer=CFDataGetBytePtr(位图)
let width:Int32=Int32(inputImageWidth)
let高度:Int32=Int32(inputImageHeight)
让我们跨步:Int32=Int32(CGImageGetBytesPerRow(图像))
let qualityFactor:Float=Float(压缩级别)
var-webp:NSData
变量输出:UnsafeMutablePointer=nil
变量大小:大小\u t=0
大小=WebPEncodeRGB(rgb、宽度、高度、步幅、质量因子和输出)
let afterByteLength=Int(尺寸)
webp=NSData(字节:输出,长度:AfterByTeleLength)
自由(输出)
返回UIImage(数据:webp)
}

另外,是否有其他方法可以使用Swift将jpg图像转换为WebP格式?

从您为WebPEncodeRGB加载类的位置?我是这样做的,您检查了吗?