Como resolver "_vImagePermuteChannels_ARGB8888", referenciado a partir de:ERRO?

StackOverflow https://stackoverflow.com//questions/12696655

  •  12-12-2019
  •  | 
  •  

Pergunta

Quando eu estou convertendo RGBA para ARGB, eu usei este código:

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);

Estou recebendo o erro abaixo:Para que eu adicionados Convertion.h e Accelerate.framework.

Indefinido símbolos para a arquitetura armv6:
"_vImagePermuteChannels_ARGB8888", referenciado a partir de:-[CCOverlayView processImage] em CCOverlayView.o ld:símbolo(s) não foi encontrado para a arquitetura armv6 collect2:ld retornou estado de saída 1

Qualquer um pode me ajudar por favor?

Foi útil?

Solução

Você pode estar vendo um dos dois problemas:

1) Esta rotina está localizado no Accelerate.framework.Você precisa adicionar isso ao seu projeto.

2) Esta rotina só está disponível no iOS 5.0 e posterior;você provavelmente não deve ser, incluindo a armv6 nestas compilações.(Os dispositivos que requerem armv6 não é possível executar o iOS 5.0).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top