'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

Frenck
sumber
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.

Jaket
sumber
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.

Marc
sumber
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.

lujop
sumber
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. :)

backslash-f
sumber
19

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

pod install

lagi dan membuka kembali proyek. Ini memperbaiki semuanya!

Lazar Kukolj
sumber
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
Iron Mike
sumber
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
Jasper
sumber
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

Sam B
sumber
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

Francesco
sumber
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)"
Mayor MacGregor
sumber
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.

Brad Folkens
sumber
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

Gaurav Chaturvedi
sumber
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.
krishna
sumber
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.
Suragch
sumber
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)

studio
sumber
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

ColossalChris
sumber
1

pergi memeriksa kerangka kerja yang hilang, lalu pergi ke

=> Bangun Fase => Tautkan Biner Dengan Perpustakaan

hapus perpustakaan dan kemudian tambahkan kembali

chings228
sumber
1

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

prankin
sumber
1

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

Bersihkan Jalur Pencarian Kerangka untuk kode biasa dan kode uji!

Vincent
sumber
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.

Alperen Adatepe
sumber
1

masukkan deskripsi gambar di sini

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

Bandish Kumar
sumber
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

Eliah Mbwilo
sumber
0

Anda harus memeriksa opsi untuk ini:

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

kingboylee0595
sumber
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.

Mohammed Fathy
sumber
0

Pastikan hanya 1 "libFlurry.a" yang dipilih dalam target

bekerja untukku.

masukkan deskripsi gambar di sini

Ofir Maleakhi
sumber
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.

Sazzad Hissain Khan
sumber
0

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

Viral Savaliya
sumber
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.

EmpireJones
sumber