it-swarm.com.de

Xcode gibt Apple Mach-O Linker Fehler

Ich habe gerade ein Projekt kompiliert und Xcode gibt diese beiden Fehler zurück, die nicht an meinem Code zu liegen scheinen. Wie behebe ich sie?

Undefined symbols for architecture i386:
  "_vImageBoxConvolve_ARGB8888", referenced from:
      -[UIImage(Blur) boxblurImageWithBlur:] in UIImage+Blur.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
23
kuranes

Einem Mann (oder einer Frau) beibringen, wie man fischt:

Normalerweise bedeutet Mach-O Linker Error, dass Sie keine Header-Datei für eine Funktion in Ihren Code aufgenommen haben.

Am einfachsten ist es, diese Funktion oder diesen Methodenaufruf zu kopieren und mit Umschalt + Befehl + O in die Xcode-Schnellsuche einzufügen. Dadurch werden alle Frameworks (und Header-Dateien) durchsucht, der Funktions- oder Methodenaufruf gefunden und der Speicherort (in diesem Fall der Header) angezeigt:

In diesem Fall gehört dieser Aufruf zum Accelerate-Framework. Geben Sie also oben in Ihre Datei Folgendes ein:

#import <Accelerate/Accelerate.h>

Bei der Schnellsuche müssen Sie möglicherweise den führenden Unterstrich entfernen. Mit anderen Worten, suchen Sie nach vImageBoxConvolve_ARGB8888

Hoffe das hilft

40
Khaled Barazi

Google ist dein Freund: Jemand anderes hat dies behoben, indem es das Accelerate-Framework zu seinem Projekt hinzugefügt hat (und dies scheint ein Framework-Fehler zu sein).

https://github.com/rnystrom/RNBlurModalView/issues/5

Stellen Sie sicher, dass auch das QuartzCore-Framework enthalten ist, da dieses auch von dieser Bibliothek benötigt wird.

11
Xono

Anscheinend ist vImageBoxConvolve_ARGB8888 () nicht definiert. Überprüfen Sie, ob das Accelerate-Framework ordnungsgemäß im Projekt enthalten ist.

1