'ld: warning: direktori tidak ditemukan untuk opsi'


524

Saat saya membuat aplikasi Xcode 4, saya mendapat peringatan ini:

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'

Tetapi saya tidak memiliki Google Analytics di aplikasi saya, saya menghapus semuanya bagaimana saya bisa menghapus kesalahan? Dan pengarsipan aplikasi memberi saya kesalahan:

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

Saya sudah mencoba banyak hal tetapi saya masih mendapatkan kesalahan ini ketika saya mencoba membuat file .IPA


10
Perhatikan bahwa ada peringatan yang sangat mirip, tetapi dengan -Fbukan -L: directory not found for option '-F/.... Lihat jawaban @ macayer di bawah untuk perbedaannya.
pkamb

1
Catatan: Pastikan direktori dengan spasi dikutip. mis. $(PROJECT_DIR)/my folderseharusnya `" $ (PROJECT_DIR) / folder saya "
Jacksonkr

Saya mengalami masalah ini ketika kelas saya tidak memiliki target keanggotaan yang tepat yang ditentukan .
Tom Howard

1
@ Jackson Itu memperbaikinya untuk saya. Saya mendapat peringatan -F, dan saya memperbaikinya dengan mengutip seperti yang Anda perintahkan dalam 'Path Framework Paths' di Build Settings. Terima kasih
Tandai

Pencadangan rutin adalah praktik terbaik.
Gajendra K Chauhan

Jawaban:


877

Anda perlu melakukan ini:

  1. Klik pada proyek Anda (target)
  2. Klik pada Pengaturan Bangun
    • jika kesalahan Anda termasuk -Lbendera, maka hapus nilai-nilai di Jalur Pencarian Perpustakaan
    • jika kesalahan Anda termasuk -Fbendera, maka hapus nilai-nilai di Path pencarian kerangka

Dan mengenai kesalahan kedua, maaf saya tidak bisa membantu Anda dengan yang itu. Semoga orang lain bisa membantu Anda.


5
Ini memecah proyek saya, tetapi saya baru saja mengomentari #penyesuaian Google Analytics saya dan menghapus SDK, berhenti xcode, menambahkan kembali dan menghapus komentar #portem saya dan itu berhasil lagi :)
emotality

1
Apakah ada langkah yang telah Anda hilangkan? Saya melakukan ini dan sekarang Xcode tidak dapat menemukan banyak file lain yang berfungsi beberapa detik sebelumnya. Tolong!
pengguna

9
Hati-hati menghapus jika Anda benar-benar membutuhkan jalur perpustakaan itu. Verifikasi bahwa jalur yang ditentukan dalam kesalahan ada. Lokasi pustaka pada disk mungkin telah dipindahkan.
AWrightIV

3
Setelah menghapus Jalur Pencarian Perpustakaan, saya mendapatkan kesalahan: ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK adalah perpustakaan statis saya)
lee

2
Saya harus menghapus path di bawah 'Framework Search Paths' pada TARGET 'AppTests' saya untuk menghapus kesalahan.
AT3D

754

Ada dua kesalahan yang tampaknya membingungkan orang.

Jika itu adalah "direktori tidak ditemukan untuk kesalahan opsi ' -L / ...", itu berarti itu adalah Kesalahan Perpustakaan, dan Anda harus mencoba untuk:

  • Klik pada proyek Anda (target)
  • Klik pada Pengaturan Bangun
  • Di bawah Jalur Pencarian Perpustakaan , hapus jalur

Jika itu adalah "direktori tidak ditemukan untuk opsi ' -F / ...", itu berarti Kerangka Kerangka Kerja, dan Anda harus mencoba untuk:

  • Klik pada proyek Anda (target)
  • Klik pada Pengaturan Bangun
  • Di bawah Framework Search Paths , hapus path

Ini mungkin terjadi ketika Anda memindahkan file yang direferensikan.


3
Mengapa semua jawaban tidak bisa sepadat dan bermanfaat seperti jawaban Anda? Terima kasih. Saya punya pertanyaan sampingan: di mana orang belajar tentang kesalahan -L / -F samar? Saya baru mengenal seluruh game yang menautkan / menyusun / membangun, dan dokumentasi bawaan Xcode bukanlah sesuatu untuk dituliskan di rumah. Saya berasumsi sebagian besar hal ini dapat diakses melalui baris perintah. Apakah saya benar dalam asumsi ini? Sulit bagiku untuk tahu harus mulai dari mana dengan semua ini. Saya sudah terbiasa dengan pengembangan web, sehingga Anda bisa berasumsi, menemukan info di ranah itu sedikit lebih mudah.
Ben Stock

pada menghapus Paths Pencarian itu lagi menunjukkan FacebookSDK tidak ditemukan. Ini adalah kesalahan -F. Saya menggunakan Xcode 6.1
Rinku

Bekerja untukku. Saya harus menghapus jalur pencarian kerangka kerja di target untuk proyek dan modul pengujian (setelah upgrade proyek dari iOS8.3 ke iOS9).
ObjectiveTC

1
Ayo Apple, apa yang terjadi pada "itu hanya bekerja" ... ini juga berlaku untuk dev. Setidaknya berikan kami saran tentang cara mengatasi masalah semacam ini alih-alih pesan samar ini. Agak mengingatkan pada Microsoft, ew.
John Contarino

2
Terima kasih banyak untuk panduan "-L adalah untuk Jalur Pencarian Perpustakaan" dan "-F adalah Framework Search Paths" , itu berfungsi sempurna untuk saya.
swiftBoy

79

Masalah saya adalah bahwa saya membuka asli .xcodeproj bukan .xcworkspace yang dihasilkan oleh CocoaPods.


Sialan ini benar-benar menyelamatkan saya setelah 3 jam memukul-mukul kepala saya pada keyboard
Gregory Saldanha

60

Saya harus menghapus referensi di:

  • Target
  • Pengaturan Bangun
  • Jalur Pencarian Kerangka

masukkan deskripsi gambar di sini

Kemudian bangunannya rusak (diharapkan). Jadi saya menghapus Framework (FB SDK), menambahkannya kembali dan voila. Tidak ada lagi kesalahan atau peringatan. :)


19

Saya menggunakan cocoa pod jadi untuk saya, saya keluar dari Xcode dan berlari

pod install

lagi dan membuka kembali proyek. Ini memperbaiki semuanya!


1
Tidak yakin mengapa Anda sedang downvoted ketika saran Anda sebenarnya bisa menjadi solusi untuk masalah serupa! Secara khusus, ini adalah solusi jika Anda mengalami pesan kesalahan yang sama setelah menambahkan konfigurasi bangunan baru ke proyek Anda. Karena menambahkan konfigurasi bangunan baru secara otomatis menyiratkan menduplikasi konfigurasi yang ada, Anda perlu menjalankan pod installuntuk menyesuaikan nilai kolom "Berdasarkan File Konfigurasi".
Cellane

1
Juga, buah kakao menghasilkan ruang kerja. pastikan untuk membukanya, bukan file proyek. instal + buka file ruang kerja memperbaiki masalah saya.
Michael Krebs

Dalam ionik ini bekerja untuk saya ketika saya menjalankan instal pod di dalam folder platform / ios
Bas van Dijk

18

Bagi saya masalahnya adalah pelarian karakter "\" yang hilang.

Jalur pencarian saya terpecah pada beberapa baris di Jalur Pencarian Perpustakaan. Dengan nyaman, mereka menghancurkan ruang di jalan saya. Menambahkan jalan keluar "\" telah memperbaikinya untuk saya.

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

Ini jawaban yang sempurna! Diuji April 2014
Van Du Tran

1
Sangat menyedihkan bahwa ini masih rusak di Xcode 6, Februari 2015. Spaces di jalur tidak perlu secara manual melarikan diri.
StilesCrisis

Jawaban yang diterima dan pilihan yang lebih tinggi di atas tidak bekerja untuk saya, tetapi ini berhasil. Petunjuk saya bahwa itu adalah masalah ini adalah bahwa Xcode melempar 2 -L kesalahan, dengan setiap kesalahan menjadi fragmen dari path lengkap dan itu melanggar ruang. Setuju bahwa pada 2015 kita tidak perlu khawatir keluar dari ruang, yang seharusnya ditangani di belakang layar untuk kita!
John Contarino

Ya, ini adalah masalah lama dalam Xcode yang terjadi ketika jalur pencarian Anda ditambahkan secara otomatis oleh sistem (yaitu karena menyeret pustaka ke dalam 'binari yang disematkan' - untuk beberapa alasan ia tidak keluar dari ruang secara otomatis dan kemudian menginterpretasikannya. mereka sebagai jalur file terpisah
Ash

13

Saya menemukan referensi yang harus saya hapus di:

  • Target
  • Pengaturan Bangun
  • Jalur Pencarian Header

33
Menggunakan Google untuk menemukan solusi untuk 'ld: warning: direktori tidak ditemukan untuk opsi', menemukan jawaban saya sendiri sebagai solusi
Jasper

13

Dalam kasus saya masalahnya adalah jalur Pencarian Kerangka kerja yang memiliki tautan lengkap, mati, lama atau beberapa kerangka kerja dengan jenis yang sama. Hapus mereka dan proyek Anda akan dikompilasi tanpa masalah.

pastikan untuk melakukan Build -> clean

masukkan deskripsi gambar di sini


10

Saya mengalami masalah yang sama (yang pertama) setelah crash Xcode dan tidak ada solusi yang diusulkan bekerja. Untuk menekan peringatan yang telah saya lakukan:

• mengelola skema ...

• menghapus skema saat ini

• Skema Autocrate Sekarang


Kita harus meminta penulis pertanyaan asli ini memposting Catatan untuk menjalankan semua solusi ini. Sebuah daftar. Coba yang pertama, solusi kedua berikutnya, solusi berikutnya ... karena ini melakukannya untuk migrasi saya dari proyek yang lebih tua dan solusi lain adalah solusi yang masuk akal. Jika saya tidak mencoba semua, saya tidak akan menemukan ini ... pindah dan berenang dalam kebingungan. Terima kasih Francesco!
Matthew Ferguson

8

Inilah yang bekerja untuk saya:

  1. Klik pada Proyek
  2. Klik pada Pengaturan Bangun
  3. Cari "Kerangka Jalur Pencarian"
  4. Hapus jalur dan ketik "$ (diwarisi)"

6

Saya mendapat bit oleh apa yang tampaknya menjadi masalah yang sama juga (kali ini dalam XCode 5.0.2). Dalam kasus saya, yang terjadi adalah XCode memutuskan untuk keluar dari tanda kutip yang sudah ada di "Build Settings". Jadi misalnya:

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

menjadi

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

yang menyebabkan build gagal ...

Setelah saya menghapus lolos pada tanda kutip semuanya bekerja dengan baik lagi. Selain itu, mungkin akan lebih baik untuk menghapus tanda kutip sama sekali kecuali Anda membutuhkannya.


1
+1 BESAR untuk ini. Mereka lolos pada kesalahan "adalah penyebab" direktori tidak ditemukan "untuk opsi -L dan -F
Will

1
tip yang sangat berguna ... dalam proyek saya xcode 5.0.2 lolos tanda kutip di awal, tengah dan akhir jalan .... itu juga duplikat jalan untuk beberapa kerangka kerja dengan cara yang aneh ... dihapus lolos, biarkan saja "nyata frameworks paths "untuk proyek-proyek yang digunakan dan menyingkirkan peringatan ... itu juga perlu untuk menghapus / menambah lagi kerangka kerja setelah memperbaiki jalur
Marcos Reboucas

6

Jika ini terjadi setelah Anda menambahkan Podfile ke proyek Anda dan menjalankan instal pod, buka folder proyek Anda, Anda akan melihat file baru yang telah dibuat "{ProjectName} .xcworkspace" - buka file itu dalam xcode

Pod yang telah diinstal akan ditautkan dengan benar ke proyek Anda di file ini


Bisa jadi Anda membuka file proyek alih-alih ruang kerja.
Jason

3

Ikuti solusi langkah demi langkah ini:

  1. Klik pada proyek Anda (target);
  2. Klik pada Pengaturan Bangun;
  3. Di bawah Jalur Pencarian Perpustakaan, hapus jalur;
  4. Tambahkan ./**di Jalur Pencarian Perpustakaan.

3

Jawaban tambahan

Semua jawaban dikatakan menghapus Kerangka atau jalur pencarian Perpustakaan dari target. Saya punya dua masalah:

  • Pertama, saya melihat target proyek utama saya daripada target Unit Test.
  • Kedua, saya tidak tahu cara menghapus jalur pencarian kerangka kerja. Ternyata itu hanya mengklik untuk masuk dalam mode edit dan kemudian hanya menghapus string.

Saya ingin mencoba ini, tetapi saya khawatir itu akan merusak aplikasi. Apakah Anda yakin semuanya berjalan setelah Anda melakukan ini?
Supertecnoboff

@Supertecnoboff Jika Anda khawatir itu tidak akan berhasil, maka simpan string sebelum Anda menghapusnya. Anda selalu dapat menempelkannya kembali. Aplikasi saya sudah rusak, jadi saya harus terus mencoba sampai sesuatu berhasil. Jawaban saya di atas adalah apa yang berhasil untuk saya.
Suragch

1

Bagi saya masalahnya sepertinya saya tidak memasukkan kerangka kerja yang sesuai (saat menyalin addon dari proyek lain saya tidak menyalin file kerangka juga)


1

Kunci untuk jenis kesalahan ini adalah untuk masuk ke pengaturan build dan melihat setiap bagian jalur pencarian seperti Jalur Pencarian Perpustakaan, Jalur Pencarian Kerangka dan bahkan mungkin Jalur Pencarian Header dan menghapus salah satu jalur yang tidak lagi berlaku bahwa Anda aplikasi mengalami kesulitan untuk mencari. Buang mereka dan terus pak yang baik


1

pergi memeriksa kerangka kerja yang hilang, lalu pergi ke

=> Bangun Fase => Tautkan Biner Dengan Perpustakaan

hapus perpustakaan dan kemudian tambahkan kembali


1

Saya memiliki masalah serupa yang hilang ketika saya membuat skema baru dan menggunakannya untuk membangun kembali ???


1

Bagi saya, saya juga mengaktifkan Tes. Jalur pencarian untuk tes juga diisi salah.

Bersihkan Jalur Pencarian Kerangka untuk kode biasa dan kode uji!


1

Karena direktori khusus yang telah dimasukkan ke jalur pencarian (kerangka kerja dan perpustakaan), proyek menimpa direktori pod. jadi tidak dapat menemukannya.

Untuk mengatasi masalah ini, hapus semua direktori khusus dari

Jalur Pencarian -> Jalur Perpustakaan dan Jalur Kerangka,

hanya melihat $ {warisan}.

Saya harap ini membantu. Ini berhasil untuk saya.


1

masukkan deskripsi gambar di sini

Tambahkan $ (diwarisi) -Objc -lcrypto - lssl di Project -> Build Setting -> Path pencarian -> Path Pencarian Perpustakaan


Solusi di atas berfungsi dengan baik untuk saya, Jika Tidak berfungsi untuk Anda, silakan bagikan tangkapan layar.
Bandish Kumar

1

Jika ini terjadi setelah penginstalan pod dengan beberapa dependensi, masalahnya mungkin Anda menggunakan versi lama aplikasi (.xcworkspace) di Xcode.

Setelah instalasi pod, ini adalah output yang mungkin Anda lihat.

Output dari instalasi pod.

Output dari pemasangan pod

Lakukan persis seperti itu, tutup jendela Xcode Anda saat ini dan buka .xcworkspace baru.

Membuka xcworkspace baru]

Membuka xcworkspace baru


0

Anda harus memeriksa opsi untuk ini:

Bangun Pengaturan-> Jalur Pencarian Kerangka-> {masukan Jalur Proyek Anda}


0

Saya telah melihat semua [Jalur Pencarian Perpustakaan - Jalur Pencarian Kerangka - Jalur Pencarian Header]. tetapi tidak ada jalur untuk dihapus, jadi saya dapat membuat lansiran ini hilang dengan masuk ke bundel Xcode dan membuat direktori kosong di lokasi jalur yang dikeluhkan oleh lansiran tersebut.



0

Jangan lupa untuk membuat konfigurasi yang sama untuk proyek Pod di ruang kerja Anda, Jika Anda berubah menjadi MainApps konfigurasi baru.

Sebagai contoh,

Dalam kasus saya, untuk menyelesaikan masalah ini saya harus membuat konfigurasi ReleaseOfficial juga untuk proyek Pod ketika saya membuat konfigurasi ReleaseOfficial untuk MainApp saya.


0

Jika Anda memasang pod baru dan kemudian mendapatkan kesalahan ini, cukup keluar dari xcode> buka lagi> build the project


0

Jika solusi tipikal tidak menyelesaikan masalah, apa yang diperbaiki untuk saya adalah memastikan bahwa semua versi iOS dalam proyek xcode (mis. IPHONEOS_DEPLOYMENT_TARGET) / target penyebaran, file pod (jika ada), dll. Diatur ke nomor versi yang sama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.