Xcode - ld: -lPods için kütüphane bulunamadı


185

Bir iOS uygulaması oluşturmaya çalıştığımda bu hataları alıyorum.

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

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

Derleme ayarlarında PODS ROOT:

${SRCROOT}/Pods

Bu Xcode projesini yaratmadım - sadece kontrol etmek için git'ten çekti.

Yanıtlar:


602

Proje CocoaPods kullanıyorsa, .xcworkspacedosyayı her zaman dosya yerine açmayı unutmayın .xcodeproj.


2
Ayrıca, normal Xcode hedefini değil, pod hedefini oluşturmayı yararlı buldum.
Don Simon

1
Açtıktan sonra projemi hiç yürütemiyorum. ne yapmalıyım?
Inuyasha

Ben bir referans fark Podsolduğunu .xcodeprojancak içinde .xcworkspace, dolayısıyla neden bu çözüm çalışmalarını.
Jacksonkr

1
Cd proje klasörüne ve "pod güncelleme" çalıştırın. Kapağınız yoksa, nasıl kurulacağını araştırın.
justinkoh

2
.Xcworkspace açarken bu hata mesajını aldım (daha spesifik olmak gerekirse, bu bir kez bir mac üzerinde çalıştı ve diğer tarafta yoktu). Benim durumumda, bir projeyi yeniden adlandırma ve daha sonra farklı bir bilgisayara kopyalama ile ilgili sorunu buldum, kütüphaneler yeni konuma kopyalanmadı. Karşılaştırmak: /Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[OLDPROJECTNAME]-[LONGRNDCHARS]/Build/Productsiçin:/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[NEWPROJECTNAME]-[LONGRNDCHARS]/Build/Products
Yatko

97

Bu sorun da vardı. CocoaPods kurulumumda bir sorun var. KIF'den başka bölmeler düzgün yüklenmiyordu. Yardımcı olmak için bu konudaki yorumları takip ettim .

Temel olarak, Build Active Architectures Onlyhem projem hem de Pod projesi için ayarların eşit olmasını sağlamam gerekiyordu.



Bu her 6 ayda bir başıma geliyor ve geçen sefer nasıl çözdüğümü asla hatırlayamıyorum ... Yalnızca Aktif Mimari Oluşturun. . . Hepimiz hatırlayabilir miyiz
Kanongata

51

Saatlerce araştırmadan sonra bu çözüm benim için çalıştı:

(sorumluluk reddi: sonuçlar koşullara göre değişebilir)

Library not found -lPods-(someCocoapod)Hata nedeniyle birden çok girişi oldu:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

Diğer yazıların birçoğu bana oraya bakmıştı ve girişlerle uğraştığımda hatada değişiklikler görecektim, ama aynı hatada bazı varyasyonlar almaya devam ettim.

Çok fazla saat kayboldu ...

Düzeltmem:

'Diğer Bağlayıcı Bayrakları' listesindeki -lPods- (someCocoaPod) satırlarını AMA yalnızca $ (devralınan) üstte ise kaldırın . İlk başta emin değildim, ancak güven verici işaret, düzenleme modundan ayrıldığımda (devralınan) hala cocoapods'umla ilgili referansları görmemdi. Hata ayıklama ve sürümde test ettim, her ikisi de bana hata veriyor ve sorun hemen çözüldü.


bir cazibe gibi çalıştı, teşekkürler. Bu sorunu sadece El Capitan'da Swift 2.0'a güncellerken yaşadım. Daha önce mükemmel çalıştı.
Ovi

Sadece $ (miras) var ve aynı zamanda bu sinir bozucu dupes var. $ (Devralınan) değişken için orijinal değeri nerede düzenleyebilirim?
nickolay

Benim gün adam kurtardın .... süre boyunca bu konuda sıkışmış ... çünkü tüm pod projeyi kaldırmak ve yeniden ekledi
Mihir Mehta

Benim için de düzeltildi. Bunu asla kendi başıma çözemezdim!
bmueller

Sen yendin! Bir cazibe gibi çalışır
Rob Sanders

31

Görünüşe göre proje kokoapod kullanıyor . ve projenizde dosyalar eksik.

Sadece git'ten indiremezsiniz. Kocoapodlardan kurmanız gerekir.

daha fazla yardım için CocoaPods Eğitimine Giriş'i takip edebilirsiniz

Proje kullandığı takdirde CocoaPodsher zaman açık farkında olmak .xcworkspaceyerine dosyayı .xcodeprojdosyası


1
@RahulPatel Belirli bir dosyayı nasıl yükleyeceğinizi lütfen komutu paylaşabilirsiniz
Ashok Londhe

Yeni beta sürümünü kullanmak isterseniz şunları kullanabilirsiniz:pod 'GoogleAds-IMA-iOS-SDK-For-AdMob', '3.0.beta.16'
Berendschot

27

Projenizde birden fazla hedefiniz varsa, Cocoapods kendini bunlardan sadece biriyle iyi entegre etmiş olabilir.

El libPods.aile her bir ek hedef için "İkili Kitaplıkları ile Bağlantı" bağlantı vardı.

çerçeveler listemdeki libPods.a


Ben pod install tüm hedeflere libPods.a dosyası entegre olmadığını düşünüyorum, Rizwan isntruction ekledim ve çalışıyor gibi ... Teşekkürler Rizwan Sattar
Wagh

Kırmızı renkte gösterilmemesine rağmen bu benim için çalıştı. Daha sonra kapsül kurulumunu çalıştırdım ve eklemedi, her şey olsa çalışıyor gibi görünüyor.
Jules

2
Aslında, daha önce projeyi yeniden adlandırdığım ve sadece orada sıkışmış olduğu için, eski bir (proje-adı) .a kütüphanesini kaldırmam gerekiyordu. Cevabınızı yükselttim, çünkü sorunun nerede olabileceği hakkında bana bir fikir verdi.
kalafun

Sen bir hayat kurtarıcısın!
Yuliwee

24

Sorunum aşağıdaki yapılandırma ile giderildi:

Build Active Architecture Only: YES

SDWebImage ile ilgili bir sorunla karşılaştığımda bu benim için çalıştı .... Bu Cocoapod bileşeni için burada yolunu bulanlar için
Scott D

Bu benim için bu sorunu çözüyor, ama bir başkasına neden oluyor. Sadece aktif olanı değil tüm mimarileri inşa etmeliyim.
HotFudgeSunday

Eski bir kodda baklaları birleştiriyorum. Aynı sorunla karşı karşıyayım. Yukarıdaki cevap yardımcı oldu.
Shashank Kulshrestha

15

Herkes bir hatayı gidermek için buraya geldiyse react-native-fbsdkkullanarak yükledikten sonra Cocoapods, kendi Projeler diğer tüm .a dosyaları kaldırmak zorunda olduğunu akılda tutmak inşa aşamaları ve sadece adlandırılan cocoapods gelen .a tutmak libPods-WhateverAppName.a.

Sadece burada kalıyor

Bu genellikle rnpm linkkoşudan ve rnpm'in çalışma şeklinden kaynaklanır.

İnşa aşamalarımdan facebook core .a dosyasını kaldırdıktan sonra projem tekrar başlatıldı.


11

LPod'larla ilgili bu sorun aşağıdaki adımları izleyerek düzeltilebilir

  • Proje Hedefinizi seçin.
  • Git "Build Phases"de "Link Binary With Libraries".
  • Şimdi ".a"sorunu yaratan kütüphanenin dosyasını kaldırın .
  • Temizleyin ve oluşturun.

Bu çalışacak.


Benim durumumda kaldırmak libstdc++.6.dylibsorunu çözdü!
Igor de Lorenzi

Nasıl ve nerede "-lstdc ++. 6" kaldırmak gerekir "libstdc ++. 6.dylib" kaldırıldı. "-Lstdc ++. 6 için kütüphane bulunamadı" mesajı alıyorum
Hari Narayanan

10

Yukarıdaki cevapların hiçbiri benim için düzeltmedi.

Bunun yerine yaptığım bölümün dışında pod installbir podkomutla çalıştırıldı target. Yani mesela:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

Hızlı bir şekilde düzelttim ve hatalı podu targetait olduğu bölüme geri döndüm ve pod installtekrar koştum :

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

Ancak bu arada olan şey, lib'in -libPods.aartık var olmadığı ve orada olduğu için olmaması gereken bağlantılı kütüphanelerime eklendiğiydi -libPods-My Target.a.

Bu yüzden çözüm Hedefimin Genel ayarlarına gitmek ve Bağlantılı Çerçeveler ve Kütüphaneler'e gitmek -libPods.ave listeden silmekti .


Projem için cocoapod'ları düzgün bir şekilde kurdum, ancak OP ile aynı hatayla karşılaştım. -LibPods.a dosyasını silmek benim için çözdü. Nazikçe teşekkürler, efendim.
NKorotkov

Eski bir projeyi güncelliyordum ve eski Podfile'ı hurdaya ayırdım ve pod inityeni bir tane kurmak için koştum ve eski dosyanın # WRONGyolunuza benzediğini ve yeni dosyaya benzediğini keşfettim # CORRECT. Teşekkür ederim!
BJ Miller

8

Adımlarım:

  1. Bölmeler klasörünü ve 'Bölmeler' dosyasını silin.
  2. Terminal'e "pod install" yazın.
  3. Terminal'e "pod update" yazın.

Önceki cevaplarda belirtildiği gibi "Aktif Mimariler İnşa Et" seçeneğinin EVET olarak ayarlanmasına ek olarak, bunu benim için yapmıştı.


+1 Benim durumumda, bu -lHelpshiftveya kapsülün belirli bir adı varsa . Sonra sadece belirli bir klasörü kaldırırım Pods/Helpshift. Sonra pod installtekrar yap. Güncellemeye gerek yok. Şu an çalışıyor.
haxpor

1
Tüm bölmeleri silme ve yeniden yükleme yardımcı oldu.
Sanad Liaquat

7

Yükseltme sonrasında bir aynı sorunu vardı Deployment targetden 7.0etmek 8.0ve etkinleştirmeuse_frameworks!

cocoapodsönceden oluşturulmuş PodName.adosyaları projemin Frameworksbölümünden silmedi.

Bunları manuel olarak silmek zorunda kaldım, çünkü linker error


4

Pod dosyası dışında içe aktarılan cocoapods kaynağının ilgili tüm dosyalarını / klasörlerini silin.

install cocoapod Bu, orijinal kaynaktan gereksiz çekimleri temizlemelidir.


3

Projeyi Cocoapod'ları kullanan bir yerden klonladığınızda, bunları projenize yüklemeniz gerekir.

Burada yapmanız gerekenler adım adım:

  • 1) yerel makineye kaynak kodunu klonlayın;
  • 2) xcode projesini kapatın (açıksa);
  • 3) terminalde bu komutu çalıştırarak Mac'inize cocoapods uygulamasını yükleyin: " gem install cocoapods ", işe yaramadıysa başında " sudo " ekleyin ;
  • 4) terminalde " cd " komutunu kullanarak xcode projenizin kök dizinine gidin ;
  • 5) bu klasörde Podfile olmalıdır; şunu kullanmak için iki kez kontrol etmek istiyorsanız: " cat Podfile " komutu, bu dosyanın içeriğini projenize yüklenmesi gereken Kitaplıklar ile görüntüler;
  • 6) daha sonra projenize Kütüphaneleri indirmek ve yüklemek için " pod install " komutunu kullanın; Podfile.lock oluşturulan ve olacak {Web proje adı} .xcworkspace dosyası;
  • 7) bundan böyle xcode içinde açmak için {Proje adınız} .xcworkspace'i kullanmak zorundasınız ;

İyi şanslar!


3

Entegre etmek isterken Bu benim sorunu oldu Firebase kullanarak Xcode projesine cocoapods

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

Stackoverflow'da listelenen çeşitli düzeltmeleri saatlerce araştırıp denedikten sonra, sorunum sonunda aşağıdaki adımları uygulayarak düzeltildi

  1. Git Build Settingsaramak, Other Linker Flagstüm değerler bekliyoruz kaldırmak$(inherited) görüntü

Bunu tüm hedefler için yapın.

  1. Bölmeler klasörünü silin. ( ios/Pods)
  2. Yapmak pod update

İşte bu kadar! Tüm bağlayıcı hataları kaybolacak.


Bunun benim için de olması gerekiyordu. Ancak, benim durumumda da Firebase Analytics eklenmiş bir yerel tepki uygulaması oldu. Temmuz 2018'den itibaren, tüm uygulamalar Apple başına iOS 11 ile oluşturulmalıdır: developer.apple.com/ios/submit/ Genel seküme gidip Dağıtım Bilgisi / Dağıtım Hedefi'ne geçip 10.x'den değiştirdiğimde 11.x için hedeflediğim şeydi - uygulama oluşturuldu / arşivlendi ve gönderebildim.
bo_

2

Benim için takip etmek işe yaramıştı.

  1. "Proje Hedefi -> Derleme Ayarları -> Önişleme -> Önişlemci Makroları" na gidin. "Önişlemci Makroları" altındaki tüm Hata Ayıklama, Entegrasyon, Sürüm öğelerinde "COCOAPODS = 1" değerini ayarlayın
  2. "Proje Hedefi" altında "Diğer Bağlayıcı Bayrakları" na aşağıdakileri ekleyin
    1. $ miras
    2. -ObjC
    3. -lc ++
    4. -all_load

Projeyi temizleyin ve çalıştırın. Hala hata aynısını alıyorsa, "Proje Hedefi -> Derleme Ayarları -> Yalnızca Etkin Mimariler Oluştur" ayarını deneyin, "Hata Ayıkla" yı "EVET" olarak ayarlayın ve "Entegrasyon ve Serbest Bırak" ı "Hayır" olarak ayarlayın. Ardından "Pods Hedefleri" için aynı "Yalnızca Etkin Mimariler Oluştur" ayarını tekrarlayın

Projeyi temizleyin ve çalıştırın. Aşağıdaki hatayı alırsanız

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

O halde bu bağlantıda Bay Mike'ın cevabını deneyin

Xcode 5.1 - Derlenecek mimari yok (ONLY_ACTIVE_ARCH = YES, aktif ark = x86_64, VALID_ARCHS = i386)

Umarım yardımcı olur!


2

Birden fazla hedefi olan bir projede, Düzen ve Uygulama adını değiştirdikten sonra aynı sorunu yaşadım ve bölmeleri güncellemeye çalıştım. Bu sorunun nedeni, bir önceki .a kütüphanesinin ve geçerli kütüphanenin listelendiği Derleme Aşamaları -> İkili Kitaplıklarıyla Bağlantılar'daki birden çok girişten kaynaklanırken bir öncekinin artık mevcut olmamasıydı. Kütüphaneyi oradan kaldırmak sorunu çözdü.


1

Benim yolum

  1. yeni proje oluşturmak ve pod yüklemek hatasız çalıştırabilirsiniz.

  2. Yeni projedeki "Diğer Bağlayıcı Bayrakları" ndaki metni eski projeye kopyalayın. Eski projeyi aynı yeni projeye dönüştürün.

  3. "Başlık Arama Yolları" nı da kontrol edin.


1

Benim için bu işe yaradı. Uygulama adımı someApp'dan otherApp olarak değiştirdim. Birden fazla üçüncü taraf hizmet entegrasyonu için kakao kapsülleri kullanıyorum. Bu nedenle 2 libPod dosyası eklendi (Uygulamanın adını ve hedefini değiştirdiğim için). Sonunda bir libPod kaldırmak zorunda kaldı. Ve işe yaradı.

target-> Derleme aşamaları-> İkili Kitaplıklarıyla Bağlantı


1

Aynı hatayı aldım.

Sorun : Ayrı bir Çalışma Alanı oluşturdum ve mevcut projemi buna ekledim. Bu Çalışma Alanı üzerinde çalışırken hatayla karşılaştım.

Düzeltme : Daha sonra bağımlılıklar eklendiğinde varolan proje içinde Çalışma Alanı otomatik olarak oluşturulur bulundu. Ve o çalışma alanı üzerinde çalışmak zorunda.


Bu yanıt, sorulan sorunun nasıl düzeltileceğini açıkça belirtmez
Mark

1

Aşağıdaki çözüm, core-plot 2.3 sürümü için benim için çalıştı. Diğer bağlayıcı bayrakları bölümünde aşağıdaki değişiklikleri yapın.

1. $ ekleyin (devralındı) ve bu öğeyi en üst konuma sürükleyin

sorun devam ederse, Son olarak PODS_ROOT'un ayarlanıp ayarlanmadığına bakın. Kullanıcı tanımlı bölüm altında kontrol edebilirsiniz.


1

Aynı problemim vardı

pod install ve komut satırındaki pod güncellemesi sorunumu çözüyor


1

Proje CocoaPods kullanıyorsa, .xcodeproj dosyası yerine her zaman .xcworkspace dosyasını açmayı unutmayın. .xcworkspace kullanıyorsanız, lütfen bölmeleri kaldırarak bölme dosyasını yeniden yükleyin ve bölmeleri tekrar takın ve yükleyin !!! bu benim için çalıştı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.