Saya mendapatkan kesalahan setelah memasukkan aplikasi ke AdMob. Aplikasi ini berfungsi hingga hari ini. Kesalahannya adalah sebagai berikut:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Bagaimana saya bisa memperbaikinya? Terima kasih.
Jawaban:
Terkadang Anda hanya menghapus referensi perpustakaan dan menambahkan referensi lagi.
Selain menambahkan Google Mobile Ads SDK dan perpustakaan lain lagi dari awal, saya akan merekomendasikan Anda memeriksa Jalur Pencarian Perpustakaan . Ada beberapa contoh ketika Anda menyalin atau menggandakan target, Xcode memutuskan bahwa ia perlu keluar dari tanda kutip ganda "dengan '\'. Pastikan Anda menghapus semua \ - itu akan terlihat seperti ini -
Saya dapat menduplikasi kesalahan, dengan melakukan awalan jalur saya dengan beberapa '\'.
sumber
Saya memiliki masalah "perpustakaan tidak ditemukan" yang serupa. Namun itu karena saya tidak sengaja menggunakan
.xcodeproj
file, bukan.xcworkspace
file.sumber
Pilih Target Anda, pergi ke
"Build Phases"
dalam"Link Binary With Libraries"
menghapus".a"
file perpustakaan itu. Bersih dan Bangun.sumber
Jika kesalahan terkait dengan Cocoapods adalah sebagai berikut:
Anda perlu memeriksa Bendera Penghubung Lainnya dan menghapusnya dari sana.
sumber
Untuk kasus saya Xcode 7 , juga bekerja di Xcode 9.1
diatur
Build Active architecture Only
keYes
sumber
Ini terjadi jika Anda menggunakan cocoapods, gunakan
.xcworkspace
file bukan.xcodeproj
file default .sumber
Jika errornya seperti berikut
ld: perpustakaan tidak ditemukan untuk -lpods
Saya menemukan bahwa file "libPods.a" yang berwarna merah (seperti file yang hilang) entah bagaimana dibuat dalam grup Framework proyek. Saya hanya cukup menghapus file itu dan semuanya baik-baik saja.
EDIT: Solusi Lain
Solusi lain yang telah saya jawab dalam pertanyaan serupa ada di tautan ini
sumber
goto Build Phases -> Tautan Biner Dengan Perpustakaan dan hapus perpustakaan yang menunjukkan kesalahan karena perpustakaan itu tidak tersedia di folder proyek
sumber
libPods-Foo BarTests.a
dan satu lagi bernamalibPods-FooBarTests.a
.Ini juga dapat terjadi jika Anda membuka file proyek alih-alih ruang kerja. Saya telah menyia-nyiakan seperti hari ini dengan cara ini.
sumber
Terlambat untuk jawabannya tetapi di sini adalah daftar hal-hal yang saya coba. Jadi akan ada di satu tempat jika ada yang ingin mencoba untuk memperbaiki masalah ini.
sumber
Dalam kasus saya ada masalah penamaan. Pustaka saya dipanggil
ios-admob-mm-adapter.a
, tetapi Xcode diharapkan, bahwa nama tersebut harus dimulai dengan lib awalan . Saya baru saja mengganti nama lib saya menjadilibios-admob-mm-adapter.a
dan memperbaiki masalah ini.Saya menggunakan Cocoapods, dan menautkan pustaka dengan opsi panji tautan lainnya dalam membangun pengaturan target saya. Bendera itu seperti
-l"ios-admob-mm-adapter"
Semoga ini bisa membantu orang lain
sumber
Sederhananya,
GoogleAdMobAds.a
tidak ada target proyek. Bagi saya itulibAdIdAccessLibrary.a
Harap periksa tangkapan layar terlampirsumber
Bagi saya masalah ini terjadi karena saya menginstal Perpustakaan Bahan untuk iOS. untuk mengatasi masalah ini
1: Buka Pengaturan Bangun aplikasi target Anda.
2: Cari bendera penghubung lainnya
3: Buka bendera penghubung lainnya dan periksa perpustakaan yang disebutkan dalam kesalahan.
4: hapus bendera itu.
5: Bersihkan dan bangun.
Saya harap ini memperbaiki masalah Anda.
sumber
Dalam kasus
ld: library not found for -{LIBRARY_NAME}
terjadi karena file perpustakaan tidak ada.Path file library harus sesuai dengan path nyata misalnya jika file Anda di root proyek Anda harus menetapkan path seperti
$(PROJECT_DIR)
sumber
Saya tahu ini agak lama, tapi saya baru saja mengalami masalah serupa dan menjalankan 'pembaruan pod' memperbaiki ini untuk saya. Kesalahan perpustakaan saya adalah dengan AFNetworking ...
Berhati-hatilah dalam melakukan pembaruan pod jika Anda tidak menggunakan versi eksplisit dalam file pod Anda.
sumber
Kesalahan ini sangat aneh.
Saya mengalami kesalahan ini dengan -ldAfnetworking dan saya hanya menyalin proyek saya di jalur dan pekerjaan lain.
sumber
Aku mencoba mengubah nama saya konfigurasi membangun
Release
untukProduction
, tapi ternyata buah kakao tidak seperti itu. Saya menamainya kembali menjadiRelease
, dan semuanya dibangun dengan baik.sumber
Jawaban @ raurora menunjuk saya ke arah yang benar. Saya menyertakan perpustakaan di jalur "watchkitapp Extension / lib" saya. Dalam hal ini, Jalur Pencarian Perpustakaan perlu diloloskan dengan '\', tetapi tautan tampaknya tidak memahami hal ini. Untuk memperbaiki / mengatasi masalah ini, saya memindahkan lib path saya ke atas satu level sehingga tidak lagi ada di direktori yang berisi spasi di namanya.
sumber
Saya baru saja memperbarui file pod 'pembaruan pod' dan mulai bekerja untuk saya secara normal.
sumber
Menjalankan 'pembaruan pod' di proyek saya memperbaiki masalah saya dengan kesalahan 'perpustakaan tidak ditemukan untuk -lSTPopup'.
Komentar Trevor Panhorst dari komentar:
"Berhati-hatilah dalam melakukan pembaruan pod jika Anda tidak menggunakan versi eksplisit dalam file pod Anda."
sumber
Solusi mudah. Inilah cara saya memperbaiki masalah ini:
platforms/ios
pod install
Itu dia. Ini harus menginstal pustaka yang hilang.
sumber
Pergi...
sumber
Ini adalah kesalahan waktu kompilasi untuk
Static Library
yang disebabkan olehStatic Linker
Anda bisa mendapatkan kesalahan
Library not found for
saat Anda belum menyertakan jalur pustaka keLibrary Search Paths
ld
berartiStatic Linker
yang tidak dapat menemukan lokasi perpustakaan. Sebagai pengembang, Anda harus membantu penghubung dan menunjukLibrary Search Paths
Anda juga bisa mendapatkan kesalahan ini jika Anda pertama kali membuka proyek baru (
.xcodeproj
) dengan dukungan Cocoapods, jalankanpod update
. Untuk memperbaikinya cukup tutup proyek ini dan buka buat ruang kerja sebagai gantinya (.xcworkspace
)sumber
Saya mendapatkan bug serupa di perpustakaan tidak ditemukan. Pada akhirnya ini adalah bagaimana saya bisa menyelesaikannya
sumber