Comment faire pour résoudre les “_vImagePermuteChannels_ARGB8888”, référencé à partir de:D'ERREUR?

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

  •  12-12-2019
  •  | 
  •  

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?

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top