Como resolver "_vImagePermuteChannels_ARGB8888", referenciado a partir de:ERRO?
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?
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).