'ld: warning: seçenek için dizin bulunamadı'


524

Xcode 4 uygulamalarımı oluştururken şu uyarıyı alıyorum:

ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../../../Downloads/Google Analytics SDK/Library'
ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../Google Analytics SDK/Library'

Ancak uygulamamda Google Analytics yok, hepsini sildim, hatayı nasıl kaldırabilirim? Ve bir uygulamayı arşivlemek bana hata veriyor:

clang: error: no such file or directory: 'armv6'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

Çok şey denedim ama bir .IPA dosyası yapmaya çalışırken hala bu hatayı alıyorum


10
Fakat, çok benzer bir uyarı olduğunu unutmayın -Fziyade -L: directory not found for option '-F/.... Fark için @ macayer'ın cevabına bakınız.
pkamb

1
Not: Boşluk içeren dizinlerin alıntılandığından emin olun. ör. $(PROJECT_DIR)/my folder"$ (PROJECT_DIR) / klasörüm"
olmalı

Sınıfımın uygun hedef üyeliği belirtilmediğinde bu sorunla karşılaştım .
Tom Howard

1
@ Jackson Bu benim için düzeltildi. -F uyarısı aldım ve Oluşturma Ayarları'ndaki 'Çerçeve Arama Yolları' bölümünde belirttiğiniz şekilde alıntı yaparak düzelttim. Teşekkürler
Mark

Düzenli yedekleme en iyi uygulamadır.
Gajendra K Chauhan

Yanıtlar:


877

Bunu yapmanız gerekir:

  1. Projenizi tıklayın (hedefler)
  2. Yapı Ayarları'nı tıklayın
    • -Lhatanız bayrağı içeriyorsa Kütüphane Arama Yolları'ndaki değerleri silin
    • -Fhatanız bayrağı içeriyorsa, Çerçeve Arama Yolları'ndaki değerleri silin

Ve ikinci hata ile ilgili olarak, üzgünüm bu konuda size yardımcı olamıyorum. Umarım başka biri size yardımcı olabilir.


5
Bu projemi kırdı, ancak Google Analytics #import'larımı yorumladım ve SDK'yı sildim, xcode'dan çıktım, #imports'umu tekrar ekledim ve uncommented ettik ve tekrar çalıştı :)
emotalite

1
Atladığınız herhangi bir adım var mı? Bunu yaptım ve şimdi Xcode, birkaç saniye önce çalışan başka bir grup dosyayı bulamıyor. Yardım!
kullanıcı

9
Bu kütüphane yoluna gerçekten ihtiyacınız varsa silmeye dikkat edin. Hatada belirtilen yolun var olduğunu doğrulayın. Kitaplığın diskteki konumu taşınmış olabilir.
AWrightIV

3
Kütüphane Arama Yollarını sildikten sonra hatayı aldım: ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK benim statik kütüphanem)
lee

2
Hatayı silmek için 'AppTests' HEDEFİM'deki 'Çerçeve Arama Yolları' altındaki yolları silmek zorunda kaldım.
AT3D

754

İnsanların kafa karıştırıcı göründüğü iki hata var.

" -L / ... seçeneği için bir dizin bulunamadı " hatasıysa, bunun bir Kütüphane Hatası olduğu anlamına gelir ve şunları denemelisiniz:

  • Projenizi tıklayın (hedefler)
  • Yapı Ayarları'nı tıklayın
  • Kütüphane Arama Yolları altında , yolları silin

" -F / ... seçeneği için bir dizin bulunamadı " ise, bunun bir Çerçeve Hatası olduğu anlamına gelir ve şunları denemelisiniz:

  • Projenizi tıklayın (hedefler)
  • Yapı Ayarları'nı tıklayın
  • Çerçeve Arama Yolları altında , yolları silin

Başvurulan dosyayı hareket ettirdiğinizde bu olabilir.


3
Neden tüm cevaplar sizinki kadar özlü ve yararlı olamaz? Teşekkür ederim. Yan bir sorum var: nerede şifreli -L / -F hataları hakkında bilgi? Bağlama / derleme / oluşturma oyununun tamamında yeniyim ve Xcode'un yerleşik belgeleri tam olarak ev hakkında yazacak bir şey değil. Bu şeylerin çoğuna komut satırı üzerinden erişilebileceğini varsayıyorum. Bu varsayımda haklı mıyım? Tüm bunlarla nereden başlayacağımı bile bilmek benim için zor oldu. Web geliştirmeye alışkınım, böylece tahmin edebileceğiniz gibi, bu alanda bilgi bulmak biraz daha kolay.
Ben Stock

Arama Yolları silindiğinde tekrar FacebookSDK bulunamadı gösterir. Bir -F hatasıdır. Xcode 6.1 kullanıyorum
Rinku

Benim için çalıştı. Hem proje hem de test modülü için hedeflerdeki çerçeve arama yollarını silmek zorunda kaldım (proje iOS8.3'ten iOS9'a yükseltildikten sonra).
ObjectiveTC

1
Hadi Apple'a "sadece işe yarıyor" ne oldu ... bu dev için de geçerli. En azından bize bu şifreli mesajlar yerine bu tür sorunların nasıl çözüleceğine dair önerilerde bulunun. Biraz Microsoft'a hatırlatıyor ew.
John Contarino

2
"-L Kütüphane Arama Yolları için" ve "-F Çerçeve Arama Yolları" kılavuzu için çok teşekkür ederim , benim için mükemmel çalıştı.
swiftBoy

79

Benim sorunum, CocoaPods tarafından oluşturulan .xcworkspace yerine orijinal .xcodeproj açıldı .


Kahretsin bu gerçekten klavyede başımı vurma 3 saat sonra beni kurtardı
Gregory Saldanha

60

Şu adresteki referansları kaldırmak zorunda kaldım:

  • Hedef
  • Derleme Ayarları
  • Çerçeve Arama Yolları

resim açıklamasını buraya girin

Sonra yapı kırıldı (beklenen). Bu yüzden Çerçeveyi (FB SDK) kaldırdım, yeniden ekledim ve voila. Artık hata veya uyarı yok. :)


19

Kakao kapsülleri kullanıyorum , bu yüzden benim için Xcode'dan çıktım ve koştum

pod install

tekrar ve projeyi yeniden açtı. Bu her şeyi düzeltti!


1
Öneriniz aslında benzer bir soruna çözüm olabileceği zaman neden önemsenmediğinden emin değilsiniz! Özellikle, projenize yeni derleme yapılandırması ekledikten sonra benzer hata mesajları yaşıyorsanız bu bir çözümdür. Yeni derleme yapılandırması eklemek otomatik olarak mevcut bir yapılandırmanın çoğaltılmasını gerektirdiğinden pod install, “Yapılandırma Dosyasına Dayalı” sütun değerini ayarlamak için çalıştırmanız gerekir .
Mart'ta Cellane

1
Ayrıca, kakao kapsülleri bir çalışma alanı oluşturur. proje dosyasını değil, açtığınızdan emin olun. pod install + çalışma alanı dosyasını aç sorunumu düzeltti.
Michael Krebs

İyonik olarak, pod kurulumunu platformlar / ios klasörü içinde çalıştırdığımda benim için çalışıyor
Bas van Dijk

18

Benim için sorun eksik bir kaçış "\" karakteriydi.

Arama yollarım Kütüphane Arama Yolları'nda birkaç satıra ayrılmıştı. Uygun şekilde, yolumdaki boşlukları kırıyorlardı. "\" Kaçışını eklemek benim için düzeltti.

$(PROJECT_DIR)/My\ Project\ Name/My\ Directory

Bu mükemmel cevap! Nisan 2014'te test edildi
Van Du Tran

1
Bunun Xcode 6, Şubat 2015'te hala kırılmış olması acıklı. Yollardaki alanların manuel olarak kaçmasına gerek yok.
StilesCrisis

Kabul edilen ve daha yüksek oylanan cevaplar benim için işe yaramadı, ama bu işe yaradı. Benim bu ipucu bu benim ipucu Xcode 2 -L hataları atıyordu, her hata tam yolun bir parçası ve boşluk kırılıyor olmasıdır. 2015 yılında, kaçan alanlardan endişelenmemiz gerekmediğini, bunun bizim için perde arkasında ele alınması gerektiğini kabul etti!
John Contarino

Evet, bu, Xcode'da, arama yolunuz sistem tarafından otomatik olarak eklendiğinde (yani bir kütüphaneyi 'gömülü ikili dosyalara sürükleyerek) - bazı nedenlerden dolayı boşluklardan otomatik olarak çıkmaz ve daha sonra yorumlanırsa ortaya çıkan uzun süredir devam eden bir sorundur. ayrı dosya yolları olarak
Ash

13

Ben kaldırmak zorunda referans bulundu:

  • Hedef
  • Derleme Ayarları
  • Üstbilgi Arama Yolları

33
Çözüm olarak kendi cevabımı bularak 'ld: Warning: seçenek için dizin bulunamadı' için bir çözüm bulmak üzere Google'ı kullanma
Jasper

13

Benim durumumda sorun, eksik, ölü, eski bağlantılar veya aynı türde birden çok çerçeve içeren Çerçeve Arama yollarıydı. Bunları kaldırın, projeniz sorunsuz bir şekilde derlenecektir.

Yaptığınızdan emin olun -> temizle

resim açıklamasını buraya girin


10

Bir Xcode çökmesinden sonra aynı sorunla (ilk olarak) karşılaştım ve önerilen çözümlerin hiçbiri işe yaramadı. Yaptığım uyarıyı bastırmak için:

• şemaları yönetme ...

• mevcut düzeni sildi

• Şemaları Şimdi Otomatikleştir


Bu orijinal sorunun yazarını, tüm bu çözümlerin üzerinden geçmek için bir Not yayınlamalıyız. Bir liste. Birincisini, bir sonraki çözümü, bir sonraki çözümü deneyin ... çünkü bunu eski bir projeye göç ettirdim ve diğer çözümler makul çözümlerdir. Eğer hepsini denemeseydim, bunu bulamazdım ... devam etti ve kafa karışıklığı içinde yüzüyordu. Teşekkürler Francesco!
Matthew Ferguson

8

Benim için işe yarayan buydu:

  1. Projeye tıklayın
  2. Yapı Ayarları'nı tıklayın
  3. "Çerçeve Arama Yolları" için arama yapın
  4. Yolu temizleyin ve "$ (miras alınan)" yazın

6

Ben de aynı sorun gibi görünüyor tarafından biraz var (bu sefer XCode 5.0.2). Benim durumumda, XCode zaten "Oluşturma Ayarları" nda tırnak kaçmaya karar oldu. Yani mesela:

"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1"

oldu

\"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1\"

bu da yapının başarısız olmasına neden oldu ...

Bir kez alıntılar kaçar kaldırıldı her şey tekrar amele para cezası. Buna ek olarak, ihtiyacınız olmadığı sürece tırnak işaretlerini tamamen kaldırmak en iyisi olacaktır.


1
Bunun için BÜYÜK +1. Her iki -L ve -F seçenekleri için dizindeki "nedeni edildi 'bulunamadı' hata olanlar kaçar.
Will

1
çok yararlı bir ipucu ... benim proje xcode 5.0.2 yolların başında, ortasında ve sonunda tırnak kaçtı .... Ayrıca garip bir şekilde bazı çerçeveler için yinelenen yolları vardı ... kaçtı, sadece "gerçek olsun çerçeve yolları "projenin kullandığı ve uyarılardan kurtulanlar için ... yolları düzelttikten sonra çerçeveleri kaldırmak / tekrar eklemek gerekiyordu
Marcos Reboucas

6

Bu, projenize bir Pod dosyası ekledikten ve kapsül yüklemesini çalıştırdıktan sonra olursa, proje klasörünüze gidin, "{ProjectName} .xcworkspace" oluşturulmuş yeni bir dosya göreceksiniz - bu dosyayı xcode içinde açın

Yüklü olan kapsüller bu dosyadaki projenize düzgün bir şekilde bağlanacaktır


Çalışma alanı yerine proje dosyasını açmış olabilirsiniz.
Jason

3

Bu adım adım çözümü izleyin:

  1. Projenize tıklayın (hedefler);
  2. Yapı Ayarları'na tıklayın;
  3. Kütüphane Arama Yolları altında, yolları silin;
  4. ./**Kütüphane Arama Yollarına ekleyin .

3

Tamamlayıcı cevap

Çerçeve veya Kütüphane arama yollarını hedeften sildiği söylenen tüm yanıtlar. İki problemim vardı:

  • İlk olarak, Unit Test hedefinden ziyade ana proje hedefime bakıyordum.
  • İkinci olarak, çerçeve arama yolunun nasıl silineceğini anlayamadım. Düzenleme moduna girmek ve sadece dizeyi silmek için tıkladığı ortaya çıktı.

Bunu denemek istiyorum, ama app kıracak endişeli. Bunu yaptıktan sonra her şeyin yolunda gittiğinden emin misin?
Supertecnoboff

@Supertecnoboff Çalışmayacağından endişe ediyorsanız, silmeden önce dizeyi kaydedin. Her zaman tekrar yapıştırabilirsiniz. Uygulamam zaten kırılmıştı, bu yüzden bir şey işe başlayana kadar bir şeyler denemeye devam etmek zorunda kaldım. Yukarıdaki cevabım benim için işe yaradı.
Suragch

1

Benim için sorun, uygun çerçeveleri dahil etmemiş olmam gibi görünüyordu (başka bir projeden eklentileri kopyalarken, çerçeve dosyalarını da kopyalamadım)


1

Bu tür hataların anahtarı, derleme ayarlarına gitmek ve Kütüphane Arama Yolları, Çerçeve Arama Yolları ve hatta Başlık Arama Yolları gibi arama yolları bölümlerinin her birine bakmak ve artık uygulamanızın uygulanmadığı herhangi bir yolu temizlemek app bulmaya zorlanıyor. Onları çıkarın ve iyi bir şekilde devam edin efendim


1

hangi çerçevenin eksik olduğuna bakın, sonra

=> Derleme Aşamaları => İkili Kütüphanelere Bağla

kütüphaneyi kaldırın ve geri ekleyin


1

Yeni bir şema oluşturup yeniden oluşturmak için kullandığımda gitti benzer bir sorun vardı ???


1

Benim için Testler etkin. Testler için arama yolu da yanlış dolduruldu.

Hem normal kod hem de test kodu için Çerçeve Arama Yolunu temizleyin!


1

Arama yollarına (çerçeveler ve kitaplık) girilen özel dizinler nedeniyle, proje bölmenin dizinlerini geçersiz kılar. bu yüzden bulamıyor.

Bu sorunu çözmek için tüm özel dizinleri

Arama Yolları -> Kütüphane Yolları ve Çerçeve Yolları,

yalnızca $ {inherited}.

Umarım bu yardımcı olur. Benim için çalıştı.


1

resim açıklamasını buraya girin

Proje'ye $ (devralınmış) -Objc -lcrypto - lssl ekleyin -> Yapı Ayarı -> Arama yolu -> Kütüphane Arama Yolu


Yukarıdaki çözüm benim için iyi çalışıyor, sizin için çalışmıyorsa, lütfen ekran görüntüsünü paylaşın.
Bandish Kumar

1

Bu, bazı bağımlılıklar içeren bir pod kurulumundan sonra gerçekleşirse, sorun uygulamanın Xcode üzerinde eski sürümünü (.xcworkspace) kullanıyor olabilirsiniz.

Bir kapsül kurulumundan sonra, görebileceğiniz çıktı budur.

Pod kurulumunun çıktısı.

Pod kurulumunun çıktısı

Tam olarak bunu yapın, geçerli Xcode pencerenizi kapatın ve yeni .xcworkspace'i açın.

Yeni xcworkspace açılması]

Yeni xcworkspace'in açılması


0

bunun için seçeneği işaretlemelisiniz:

Derleme Ayarları-> Çerçeve Arama Yolları-> {Proje Yolunuzu Girin}


0

Tüm [Kütüphane Arama Yolları - Çerçeve Arama Yolları - Başlık Arama Yolları] 'na baktım. ancak kaldırılacak hiçbir yol yok, bu yüzden Xcode paketine girerek ve uyarının şikayet ettiği yol konumunda boş bir dizin oluşturarak bu uyarıyı ortadan kaldırabildim.


0

Emin olun sadece 1 "libFlurry.a" seçilen hedefteki

benim için çalıştı.

resim açıklamasını buraya girin


0

MainApps yeni yapılandırmasına geçerseniz, çalışma alanınızda Pod projesi için aynı yapılandırmayı oluşturmayı unutmayın.

Örneğin,

Benim durumumda, bu sorunu çözmek için MainApp için ReleaseOfficial yapılandırması oluşturduğumda Pod projeleri için de ReleaseOfficial yapılandırması oluşturmak zorunda kaldım .


0

Yeni bir bölme yüklediyseniz ve sonra bu hatayı aldıysanız, xcode'dan çıkın> tekrar açın> projeyi derleyin


0

Eğer tipik bir çözüm bana xcode projedeki tüm iOS sürümleri (örneğin IPHONEOS_DEPLOYMENT_TARGET) / dağıtım hedefleri, vb podfiles (varsa), aynı sürüm numarasına ayarlı sağlamaktan edilmiş düzelttim neyi sorunu çözmek değil.

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.