如何解决“_vImagePermuteChannels ARGB8888”,引用自:error?

时间:2012-10-02 19:08:24

标签: ios avcapture

当我将Rgba转换为argb时,我使用了此代码

vImage_Buffer src;
src.height = height;
src.width = width;
src.rowBytes = srcBytesPerRow;
src.data = srcRows;

vImage_Buffer dest;
dest.height = height;
dest.width = width;
dest.rowBytes = destBytesPerRow;
dest.data = destRows;

// Swap pixel channels from BGRA to RGBA.
const uint8_t map[4] = { 2, 1, 0, 3 };
vImagePermuteChannels_ARGB8888(&src, &dest, map, kvImageNoFlags);

我得到以下错误:为此我还添加了Convertion,h和Acceralator框架。

架构armv6的未定义符号:   “_vImagePermuteChannels_ARGB8888”,引自:        - CCOverlayView.o中的[CCOverlayView processImage] ld:找不到架构armv6的符号 collect2:ld返回1退出状态

任何人请帮帮我?

1 个答案:

答案 0 :(得分:3)

您可能会遇到两个问题之一:

1)此例程位于Accelerate.framework。您需要将其添加到项目中。

2)此例程仅适用于iOS 5.0及更高版本;你可能不应该在这些版本中包含armv6。 (需要armv6的设备无法运行iOS 5.0)。