Ich erhalte eine Fehlermeldung, nachdem ich meine Bewerbung in einen AdMob gestellt habe. Die App funktionierte bis heute. Der Fehler ist folgender:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Wie kann ich das beheben? Danke dir.
Antworten:
Manchmal entfernen Sie einfach die Referenz der Bibliothek und fügen die Referenz erneut hinzu.
Abgesehen davon, dass Sie das Google Mobile Ads SDK und andere Bibliotheken von Grund auf neu hinzufügen, würde ich Ihnen empfehlen, die Bibliothekssuchpfade zu überprüfen . Es gibt Fälle, in denen Sie ein Ziel kopieren oder duplizieren. Xcode entscheidet, dass doppelte Anführungszeichen "mit einem '\' entfernt werden müssen. Entfernen Sie alle \ 's - es sollte so aussehen -
Ich konnte den Fehler duplizieren, indem ich meinem Pfad mehrere '\' voranstellte.
quelle
Ich hatte ein ähnliches Problem mit "Bibliothek nicht gefunden". Es lag jedoch daran, dass ich versehentlich die
.xcodeproj
Datei anstelle der.xcworkspace
Datei verwendet habe.quelle
Wählen Sie Ihr Ziel, gehen Sie
"Build Phases"
in"Link Binary With Libraries"
Entfernen".a"
Datei dieser Bibliothek. Reinigen und bauen.quelle
Wenn der Fehler in Bezug auf Cocoapods wie folgt ist:
Sie müssen andere Linker-Flags überprüfen und von dort entfernen.
quelle
Für meinen Fall funktionierte Xcode 7 auch in Xcode 9.1
eingestellt
Build Active architecture Only
aufYes
quelle
Wenn Sie Cocoapods verwenden, verwenden Sie die
.xcworkspace
Datei anstelle der Standarddatei.xcodeproj
.quelle
Wenn der Fehler wie folgt ist
ld: Bibliothek für -lpods nicht gefunden
Ich fand heraus, dass eine Datei "libPods.a" in roter Farbe (wie fehlende Dateien) irgendwie in der Framework-Gruppe des Projekts erstellt wurde. Ich habe diese Datei einfach 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
quelle
Gehen Sie zu Phasen erstellen -> Binär mit Bibliotheken verknüpfen und entfernen Sie die Bibliothek, die Fehler anzeigt, da diese Bibliothek nicht im Projektordner verfügbar ist
quelle
libPods-Foo BarTests.a
und eine mit NamenlibPods-FooBarTests.a
.Dies kann auch passieren, wenn Sie eine Projektdatei anstelle eines Arbeitsbereichs öffnen. Ich habe mich auf diese Weise wie ein Tag verschwendet.
quelle
Spät für die Antwort, aber hier ist die Liste der Dinge, die ich versucht habe. Also wird es an einem Ort sein, wenn jemand versuchen möchte, das Problem zu beheben.
quelle
In meinem Fall gab es ein Namensproblem. Meine Bibliothek wurde aufgerufen
ios-admob-mm-adapter.a
, aber Xcode erwartete, dass der Name mit dem Präfix lib beginnen sollte . Ich habe gerade meine Bibliothek umbenanntlibios-admob-mm-adapter.a
und das Problem behoben.Ich verwende Cocoapods und verknüpfe 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
quelle
Fehlt einfach
GoogleAdMobAds.a
im Projektziel. Für mich war eslibAdIdAccessLibrary.a
Bitte überprüfen Sie den beigefügten Screenshotquelle
Bei mir tritt dieses Problem auf, weil ich Material Library for IOS installiert habe. um dieses Problem zu lösen
1: Gehen Sie zu Build Settings Ihrer Ziel-App.
2: Suche nach anderen 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.
quelle
Im Falle eines
ld: library not found for -{LIBRARY_NAME}
Ereignisses, weil die Bibliotheksdatei (en) nicht vorhanden sind.Der Pfad der Bibliotheksdatei (en) muss dem tatsächlichen Pfad entsprechen. Wenn sich Ihre Datei (en) im Stammverzeichnis des Projekts befinden, müssen Sie den Pfad wie folgt festlegen
$(PROJECT_DIR)
quelle
Ich weiß, dass dies ein bisschen alt ist, aber ich habe gerade ein ähnliches Problem festgestellt und das Ausführen von "Pod Update" hat dies für mich behoben. Mein Bibliotheksfehler war mit AFNetworking ...
Seien Sie vorsichtig beim Pod-Update, wenn Sie keine expliziten Versionen in Ihrer Pod-Datei verwenden.
quelle
Dieser Fehler ist sehr seltsam.
Ich hatte diesen Fehler mit -ldAfnetworking und kopiere mein Projekt nur in einen anderen Pfad und funktioniert.
quelle
Ich habe versucht, meine Build-Konfiguration
Release
in umzubenennenProduction
, aber anscheinend gefällt es Kakaofrüchten nicht. Ich habe es wieder umbenanntRelease
und alles funktioniert einwandfrei.quelle
@ rauroras Antwort zeigte mir die richtige Richtung. Ich habe Bibliotheken in meinen Pfad "watchkitapp Extension / lib" aufgenommen. In diesem Fall musste der Bibliothekssuchpfad mit einem '\' maskiert werden, aber der Linker schien dies nicht zu verstehen. Um das Problem zu beheben / zu umgehen, 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.
quelle
Ich aktualisiere gerade die Pod-Datei 'pod update' und sie funktioniert für mich normal.
quelle
Das Ausführen von 'pod update' in meinem Projekt hat mein Problem mit dem Fehler 'Bibliothek für -lSTPopup nicht gefunden' behoben.
Bemerkung zu Trevor Panhorsts Antwort:
"Seien Sie vorsichtig beim Pod-Update, wenn Sie keine expliziten Versionen in Ihrer Pod-Datei verwenden."
quelle
Einfache Lösung. So würde ich das Problem beheben:
platforms/ios
pod install
Das ist es. Dies sollte die fehlende Bibliothek installieren.
quelle
Ging weg...
quelle
Es ist ein Kompilierungszeitfehler für a
Static Library
, der durch verursacht wirdStatic Linker
Sie können den Fehler erhalten,
Library not found for
wenn Sie keinen Bibliothekspfad zum angegeben habenLibrary Search Paths
ld
Mittel,Static Linker
die keinen Ort der Bibliothek finden können. Als Entwickler sollten Sie dem Linker helfen und auf das zeigenLibrary Search Paths
Sie können diesen Fehler auch erhalten, wenn Sie zum ersten Mal ein neues Projekt (
.xcodeproj
) mit Cocoapods-Unterstützung öffnen und ausführenpod update
. Um dies zu beheben, schließen Sie einfach dieses Projekt und öffnen Sie stattdessen einen Arbeitsbereich (.xcworkspace
)quelle
Ich habe ähnliche Fehler in der Bibliothek bekommen, die nicht gefunden wurden. Letztendlich konnte ich es so lösen
quelle