it-swarm.com.de

Fehler "Bibliothek nicht gefunden für"

Ich habe einen Fehler, nachdem ich einen Admob in meine App eingefügt habe. Gestern hat die App gut funktioniert, aber heute hat es nicht mehr funktioniert. Der Fehler lautet wie folgt:

ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)

wie man es repariert ? Vielen Dank !!

98
ViniciusPV

Manchmal entfernen Sie einfach den Verweis der Bibliothek und fügen ihn erneut hinzu. 

Abgesehen vom Hinzufügen des Google Mobile Ads SDK und anderer Bibliotheken von Grund auf, würde ich Ihnen empfehlen, die Library Search Paths zu überprüfen. Es gibt Fälle, in denen Sie ein Ziel kopieren oder duplizieren. Xcode entscheidet, dass doppelte Anführungszeichen durch ein "\" ersetzt werden müssen. Stellen Sie sicher, dass Sie alle\"s entfernen.

enter image description here

Ich konnte den Fehler duplizieren, indem ich meinem Pfad mehrere "\" voranstellte. 

92
raurora

Ich hatte eine ähnliche "Bibliothek nicht gefunden" Ausgabe. Dies lag jedoch daran, dass ich aus Versehen die .xcodeproj-Datei anstelle der .xcworkspace-Datei verwendete.

222
Casper

Wenn der Fehler mit Cocoapods wie folgt zusammenhängt:

library not found for -lPod-...

Sie müssen Other Linker Flags markieren und von dort entfernen.

Zusätzliche Informationen: Wenn Sie ein altes Projekt haben, das Kokosapoden verwendet. Und vor kurzem mussten Sie das use_frameworks hinzufügen! zu deiner podfile . cocoapods fügt die Bibliotheken nicht zu Ihren Other Linker Flags .__ hinzu. mehr, weil es vererbt ist. Daher müssen Sie möglicherweise die .__ entfernen. manuell von den anderen Linker-Flags, die sie zuvor hinzugefügt haben mit den use_frameworks!

57
hasan

Für meinen Fall Xcode 7 funktionierte auch in Xcode 9.1

ld: library not found for -ldAfnetworking
clang: error: linker command failed with exit code 1 (use -v to see invocation)

setze Build Active architecture Only auf Yes

 enter image description here

51
Ted

Wählen Sie Ihr Ziel aus und gehen Sie zu "Build Phases" in "Link Binary With Libraries" remove ".a"-Datei dieser Bibliothek. Reinigen und Bauen.

49
Abuzar Amin

Wenn Fehler wie folgt ist

ld: Bibliothek wurde für -lpods nicht gefunden

Ich fand, dass eine Datei "libPods.a", die in roter Farbe (wie fehlende Dateien) ist, irgendwie in der Framework-Gruppe des Projekts erstellt wurde. Ich habe einfach die Datei entfernt und alles wurde gut.

EDIT: Eine andere Lösung

Eine andere Lösung, die ich bereits in der ähnlichen Frage beantwortet habe, ist in diesem Link

11
Teena nath Paul

Dies kann auch passieren, wenn Sie eine Projektdatei anstelle eines Arbeitsbereichs öffnen. Ich habe mich auf diese Weise wie einen Tag verschwendet.

9
kkodev

goto Build Phases -> Link Binary With Libraries und entferne Bibliotheken, die Fehler anzeigen, da diese Bibliothek nicht im Projektordner verfügbar ist

6
Hitesh Agarwal

Spät für die Antwort, aber hier ist die Liste der Dinge, die ich ausprobiert habe. So wird es an einer Stelle sein, wenn jemand versuchen möchte, das Problem zu beheben.

  1. Gültige Architektur = Armv7 Armv7s
  2. Nur aktive Architektur erstellen = NEIN
  3. Ziel -> Build-Einstellungen -> Andere Linker-Flags = $ (geerbt)
  4. Ziel -> Build-Einstellungen -> Bibliothekssuchpfad = $ (geerbt)
  5. Produkt sauber
  6. Pod Update im Terminal
4
reetu

Dies passiert, wenn Sie Cocoapods verwenden und nicht die Datei .xcworkspace anstelle der Standarddatei .xcodeproj verwenden.

2
ehacinom

In meinem Fall gab es ein Namensproblem. Meine Bibliothek hieß ios-admob-mm-adapter.a, aber Xcode erwartete, dass der Name mit dem Präfix lib beginnen sollte. Ich habe gerade meine lib in libios-admob-mm-adapter.a umbenannt und das Problem behoben.

Ich verwende Cocoapods, und es verknüpft Bibliotheken mit der Option Andere Linkerflags in den Build-Einstellungen meines Ziels. Die Flagge sieht aus wie -l"ios-admob-mm-adapter"

Hoffe es hilft jemand anderem

1
Accid Bright

So habe ich das Problem behoben:

  1. Wechseln Sie in das Verzeichnis platforms/ios
  2. Führen Sie dann den Befehl pod install aus.

Das ist es. 

0
Manoj Shrestha

Einfache Lösung So würde ich das Problem beheben:

  1. Wechseln Sie in das Verzeichnis platforms/ios
  2. Führen Sie dann den Befehl pod install aus.

Das ist es. Dies sollte die fehlende Bibliothek installieren.

0
Manoj Shrestha

Das Ausführen von "Pod Update" in meinem Projekt hat mein Problem mit dem Fehler "Bibliothek nicht gefunden für -lSTPopup" behoben.

Bemerkung von Trevor Panhorsts Antwort:

"Seien Sie nur vorsichtig, wenn Sie das Pod-Update durchführen, wenn Sie keine expliziten Versionen in Ihrer Pod-Datei verwenden."

0
Juan Santos

Was mich betrifft, tritt dieses Problem auf, weil ich Material Library for IOS installiert habe. um dieses Problem zu lösen

1: Gehe zu Build Settings deiner Ziel-App.

2: Suche nach Andere Linker-Flags

3: Öffnen Sie die anderen Linker-Flags und suchen Sie nach der Bibliothek, die im Fehler erwähnt wird.

4: entfernen Sie diese Flagge.

5: Reinigen und bauen.

Ich hoffe, dies behebt Ihr Problem.

0
Fahad Qasim

Ich weiß, das ist ein bisschen alt, aber ich habe gerade ein ähnliches Problem gefunden und das Ausführen von "Pod Update" behebt dies für mich. Mein Bibliotheksfehler war bei AFNetworking ...

Seien Sie vorsichtig, wenn Sie das Pod-Update durchführen, wenn Sie keine expliziten Versionen in Ihrer Pod-Datei verwenden.

0
Trevor Panhorst

Einfach, GoogleAdMobAds.a fehlt im Projektziel . Bei mir war es libAdIdAccessLibrary.a

 enter image description here

0
Ashvin Ajadiya

Es ist ein Kompilierungszeitfehler für ein Library, das von Static Linker umschlossen wird.

ld: library not found for -l<Library_name>

Sie können den Fehler Library not found for erhalten, wenn Sie keinen Bibliothekspfad zum Library Search Paths angegeben haben.

Dieses Problem tritt auf, weil Static Linker den Speicherort der Bibliothek nicht finden kann. Teilen Sie Xcode einfach mit, wo sie sich befinden, indem Sie den Bibliothekssuchpfaden in Xcode das richtige Verzeichnis zum Verknüpfen hinzufügen.

Build Settings -> Search Paths -> Library Search Paths 

Die Quelle ist hier

0
yoAlex5

@rauroras Antwort zeigte mich in die richtige Richtung. Ich habe Bibliotheken in meinen Pfad "watchkitapp Extension/lib" aufgenommen. In diesem Fall musste der Bibliotheks-Suchpfad mit einem '\' geschützt werden, aber der Linker schien das nicht zu verstehen. Um das Problem zu beheben/umzugehen, habe ich meinen lib-Pfad um eine Ebene nach oben verschoben, sodass er sich nicht mehr in einem Verzeichnis befand, das ein Leerzeichen im Namen enthielt.

0
Justin Domnitz

Im Fall von ld: library not found for -{LIBRARY_NAME} ist es passiert, weil die Bibliotheksdatei (en) nicht vorhanden sind.

Überprüfen Sie den Bibliothekspfad auf der Registerkarte "Erstellungsphasen" der Bibliothekssuchpfade Ihrer Anwendungsziele.

Der Pfad der Bibliotheksdatei (en) muss dem tatsächlichen Pfad entsprechen. Wenn sich Ihre Datei (en) beispielsweise im Stammverzeichnis des Projekts befinden, müssen Sie den Pfad wie folgt festlegen: $(PROJECT_DIR)

0
Reza Dehnavi

Dieser Fehler ist sehr seltsam.

Ich hatte diesen Fehler mit -ldAfnetworking und kopiere mein Projekt nur in einen anderen Pfad und funktioniert.

0
A. Trejo

Ich habe versucht, meine Build-Konfiguration Release in Production umzubenennen, aber anscheinend mögen Kakaopods es nicht. Ich habe es wieder in Release umbenannt, und alles baut gut auf.

Ich aktualisiere einfach die Pod-Datei "Pod Update" und sie fängt an, normal für mich zu arbeiten. 

0
Chandni