Comment faire pour résoudre les “_vImagePermuteChannels_ARGB8888”, référencé à partir de:D'ERREUR?
Question
Quand je suis la conversion RGBA pour ARGB, j'ai utilisé ce code:
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);
J'obtiens l'erreur ci-dessous:Pour cela, j'ai ajouté Convertion.h
et Accelerate.framework
.
Les symboles non définis pour l'architecture armv6:
"_vImagePermuteChannels_ARGB8888", référencé à partir de:-[CCOverlayView processImage] dans CCOverlayView.o ld:symbole(s) ne se trouvent pas pour l'architecture armv6 collect2:ld a retourné 1 code de sortie
Quelqu'un peut-il m'aider s'il vous plaît?
La solution
Vous pouvez en voir un des deux problèmes:
1) Cette routine est situé dans le Accelerate.framework
.Vous avez besoin de l'ajouter à votre projet.
2) Cette routine n'est disponible que sous iOS 5.0 et versions ultérieures;vous ne devriez probablement pas être compris des armv6 dans ces versions.(Les appareils qui nécessitent armv6 ne peut pas exécuter la version 5.0 d'iOS).