'ld: warning: không tìm thấy thư mục cho tùy chọn'


524

Khi tôi xây dựng ứng dụng Xcode 4 của mình, tôi nhận được cảnh báo này:

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'

Nhưng tôi không có Google Analytics trong ứng dụng của mình, tôi đã xóa tất cả trong số đó làm cách nào để xóa lỗi? Và lưu trữ một ứng dụng cho tôi lỗi:

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

Tôi đã thử rất nhiều thứ nhưng tôi vẫn gặp lỗi này khi tôi đang cố gắng tạo một tệp .IPA


10
Lưu ý rằng có một cảnh báo rất giống nhau, nhưng với -Fhơn là -L: directory not found for option '-F/.... Xem câu trả lời của @ macay dưới đây để biết sự khác biệt.
pkamb

1
Lưu ý: Đảm bảo các thư mục có dấu cách được trích dẫn. ví dụ: $(PROJECT_DIR)/my folder"$ (PRO DỰ_DIR) / thư mục của tôi"
Jacksonkr

Tôi gặp phải vấn đề này khi lớp học của tôi không có tư cách thành viên mục tiêu phù hợp .
Tom Howard

1
@Jackson Điều đó đã sửa nó cho tôi. Tôi đã có cảnh báo -F và tôi đã sửa nó bằng cách trích dẫn như bạn đã hướng dẫn trong 'Đường dẫn tìm kiếm khung' trong Cài đặt bản dựng. Cảm ơn
Đánh dấu

Sao lưu thường xuyên là thực hành tốt nhất.
Gajendra K Chauhan

Câu trả lời:


877

Bạn cần phải làm điều này:

  1. Bấm vào dự án của bạn (mục tiêu)
  2. Nhấp vào Cài đặt bản dựng
    • nếu lỗi của bạn bao gồm -Lcờ, thì hãy xóa các giá trị trong Đường dẫn tìm kiếm thư viện
    • nếu lỗi của bạn bao gồm -Fcờ, thì hãy xóa các giá trị trong Đường dẫn tìm kiếm khung

Và liên quan đến lỗi thứ hai, xin lỗi tôi không thể giúp bạn khắc phục lỗi đó. Hy vọng người khác có thể giúp bạn ra ngoài.


5
Điều này đã phá vỡ dự án của tôi, nhưng tôi chỉ nhận xét Google Analytics #imports của mình và xóa SDK, thoát xcode, thêm lại và không ghi chú #imports của tôi và nó đã hoạt động trở lại :)
emotality

1
Có bất kỳ bước nào bạn đã bỏ qua? Tôi đã làm điều này và bây giờ Xcode không thể tìm thấy một loạt các tệp khác đang hoạt động vài giây trước đó. Cứu giúp!
người dùng

9
Hãy cẩn thận xóa nếu bạn thực sự cần đường dẫn thư viện đó. Xác minh rằng đường dẫn được chỉ định trong lỗi tồn tại. Vị trí của thư viện trên đĩa có thể đã được di chuyển.
AWrightIV

3
Sau khi xóa Đường dẫn tìm kiếm thư viện Tôi đã gặp lỗi: ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK là thư viện tĩnh của tôi)
lee

2
Tôi đã phải xóa các đường dẫn trong 'Đường dẫn tìm kiếm khung' trên TARGET 'AppTests' của mình để xóa lỗi.
AT3D

754

Có hai lỗi mà mọi người dường như khó hiểu.

Nếu đó là lỗi "không tìm thấy thư mục cho tùy chọn ' -L / ...", điều đó có nghĩa đó là Lỗi Thư viện và bạn nên thử:

  • Bấm vào dự án của bạn (mục tiêu)
  • Nhấp vào Cài đặt bản dựng
  • Trong Đường dẫn tìm kiếm thư viện , xóa các đường dẫn

Nếu đó là "thư mục không tìm thấy cho tùy chọn ' -F / ...", điều đó có nghĩa đó là Lỗi Khung và bạn nên thử:

  • Bấm vào dự án của bạn (mục tiêu)
  • Nhấp vào Cài đặt bản dựng
  • Trong Đường dẫn tìm kiếm khung , xóa các đường dẫn

Điều này có thể xảy ra khi bạn di chuyển tệp được tham chiếu xung quanh.


3
Tại sao tất cả các câu trả lời không thể ngắn gọn và hữu ích như của bạn? Cảm ơn bạn. Tôi có một câu hỏi phụ: người ta tìm hiểu về lỗi -L / -F khó hiểu ở đâu? Tôi mới tham gia vào toàn bộ trò chơi liên kết / biên dịch / xây dựng và tài liệu tích hợp của Xcode không chính xác là thứ để viết về nhà. Tôi giả sử hầu hết những thứ này có thể được truy cập thông qua dòng lệnh. Tôi có đúng trong giả định này không? Thật khó cho tôi để biết bắt đầu từ đâu với tất cả những thứ này. Tôi đã quen với việc phát triển web, vì vậy như bạn có thể giả định, việc tìm kiếm thông tin trong lĩnh vực đó dễ dàng hơn một chút.
Ben Stock

khi xóa Đường dẫn tìm kiếm, nó lại hiển thị FacebookSDK không tìm thấy. Đó là lỗi -F. Tôi đang sử dụng Xcode 6.1
Rinku

Đã làm cho tôi. Tôi đã phải xóa các đường dẫn tìm kiếm khung trong các mục tiêu cho cả dự án và mô-đun thử nghiệm (khi nâng cấp dự án từ iOS8.3 lên iOS9).
Mục tiêu

1
Hãy đến với Apple, những gì đã xảy ra với "nó chỉ hoạt động" ... điều này cũng nên áp dụng cho nhà phát triển. Ít nhất cung cấp cho chúng tôi các đề xuất về cách giải quyết các loại vấn đề này thay vì các tin nhắn khó hiểu này. Kinda nhắc về Microsoft, ew.
John Contarino

2
Cảm ơn bạn rất nhiều vì "-L dành cho Đường dẫn tìm kiếm thư viện" và hướng dẫn "-F là Đường dẫn tìm kiếm khung" , nó hoạt động hoàn hảo với tôi.
swiftBoy

79

Vấn đề của tôi là tôi mở bản gốc .xcodeproj thay vì .xcworkspace đó được tạo ra bởi CocoaPods.


Chết tiệt, điều này thực sự đã cứu tôi sau 3 giờ đập đầu vào bàn phím
Gregory Saldanha

60

Tôi đã phải xóa các tài liệu tham khảo tại:

  • Mục tiêu
  • Xây dựng cài đặt
  • Đường dẫn tìm kiếm khung

nhập mô tả hình ảnh ở đây

Sau đó, bản dựng đã bị hỏng (dự kiến). Vì vậy, tôi đã gỡ bỏ Framework (FB SDK), thêm lại nó và voila. Không có nhiều lỗi hoặc cảnh báo. :)


19

Tôi sử dụng vỏ ca cao vì vậy đối với tôi, tôi đã thoát Xcode và chạy

pod install

một lần nữa và mở lại dự án. Điều này cố định mọi thứ!


1
Không chắc chắn lý do tại sao bạn bị hạ thấp khi đề xuất của bạn thực sự có thể là một giải pháp cho một vấn đề tương tự! Cụ thể, đó là một giải pháp nếu bạn gặp phải thông báo lỗi tương tự sau khi thêm cấu hình bản dựng mới vào dự án của bạn. Do việc thêm cấu hình bản dựng mới sẽ tự động ngụ ý sao chép cấu hình hiện có, bạn cần chạy pod installđể điều chỉnh giá trị cột dựa trên giá trị cột của Tập tin cấu hình.
Cellane 20/03/2017

1
Ngoài ra, vỏ ca cao tạo ra một không gian làm việc. đảm bảo mở nó, không phải tệp dự án. cài đặt pod + mở tệp không gian làm việc đã khắc phục sự cố của tôi.
Michael Krebs

Trong ionic, nó hoạt động với tôi khi tôi chạy cài đặt pod bên trong thư mục platform / ios
Bas van Dijk

18

Đối với tôi, vấn đề là một ký tự "\" bị thiếu.

Đường dẫn tìm kiếm của tôi đã bị hỏng trên một số dòng trong Đường dẫn tìm kiếm thư viện. Thuận tiện, họ đã phá vỡ tại không gian trên đường của tôi. Thêm lối thoát "\" đã sửa nó cho tôi.

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

Đây là câu trả lời hoàn hảo! Đã thử nghiệm tháng 4 năm 2014
Van Du Tran

1
Thật thảm hại khi điều này vẫn bị hỏng trong Xcode 6, tháng 2 năm 2015. Không gian cần phải thoát theo cách thủ công.
StilesCrisis

Các câu trả lời được chấp nhận và bình chọn cao hơn ở trên không làm việc cho tôi, nhưng điều này đã làm. Gợi ý của tôi rằng vấn đề này là Xcode đã gây ra lỗi 2 -L, với mỗi lỗi là một đoạn của đường dẫn hoàn chỉnh và nó đã bị phá vỡ trên không gian. Đồng ý rằng năm 2015 chúng ta không phải lo lắng về việc thoát khỏi không gian, điều đó nên được xử lý phía sau hậu trường cho chúng ta!
John Contarino

Vâng, đây là sự cố lâu dài trong Xcode xảy ra khi đường dẫn tìm kiếm của bạn được hệ thống tự động thêm vào (nghĩa là do kéo thư viện vào 'nhị phân nhúng' - vì một số lý do, nó không tự động thoát khỏi khoảng trắng và sau đó diễn giải chúng như các đường dẫn tệp riêng biệt.
Tro

13

Tôi tìm thấy tài liệu tham khảo mà tôi phải xóa tại:

  • Mục tiêu
  • Xây dựng cài đặt
  • Đường dẫn tìm kiếm tiêu đề

33
Sử dụng Google để tìm giải pháp cho 'ld: warning: không tìm thấy thư mục cho tùy chọn', tìm câu trả lời của riêng tôi dưới dạng giải pháp
Jasper

13

Trong trường hợp của tôi, vấn đề là các đường dẫn Tìm kiếm Khung có các liên kết cũ, không hoàn chỉnh, cũ hoặc nhiều khung cùng loại. Loại bỏ chúng và dự án của bạn sẽ biên dịch mà không có bất kỳ vấn đề.

hãy chắc chắn để xây dựng -> sạch sẽ

nhập mô tả hình ảnh ở đây


10

Tôi gặp vấn đề tương tự (vấn đề đầu tiên) sau sự cố Xcode và không có giải pháp nào được đề xuất hoạt động. Để ngăn chặn cảnh báo tôi đã thực hiện:

• quản lý các chương trình ...

• xóa chương trình hiện tại

• Đề án tự động ngay bây giờ


Chúng ta nên có tác giả của câu hỏi ban đầu này đăng một Lưu ý để chạy qua tất cả các giải pháp này. Một danh sách. Hãy thử giải pháp đầu tiên, giải pháp tiếp theo thứ hai, giải pháp tiếp theo ... bởi vì điều này đã giúp tôi di chuyển một dự án cũ hơn và các giải pháp khác là giải pháp hợp lý. Nếu tôi không thử hết, tôi sẽ không tìm thấy cái này ... di chuyển và bơi trong bối rối. Thx Francesco!
Matthew Ferguson

8

Đây là những gì làm việc cho tôi:

  1. Bấm vào dự án
  2. Nhấp vào Cài đặt bản dựng
  3. Tìm kiếm "Đường dẫn tìm kiếm khung"
  4. Xóa đường dẫn và gõ "$ (kế thừa)"

6

Tôi đã nhận được một chút bởi những gì dường như cũng là vấn đề tương tự (lần này trong XCode 5.0.2). Trong trường hợp của tôi, những gì đã xảy ra là XCode đã quyết định thoát các trích dẫn đã có trong "Cài đặt bản dựng". Ví dụ:

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

đã trở thành

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

khiến cho việc xây dựng thất bại ...

Khi tôi loại bỏ các lối thoát trên báo giá, mọi thứ hoạt động tốt trở lại. Ngoài ra, có lẽ tốt nhất là loại bỏ các trích dẫn hoàn toàn trừ khi bạn cần chúng.


1
LỚN +1 cho việc này. Những lối thoát trên "là nguyên nhân gây ra lỗi" không tìm thấy thư mục "cho cả hai tùy chọn -L và -F.
Sẽ

1
mẹo rất hữu ích ... trong dự án xcode 5.0.2 của tôi đã thoát các trích dẫn ở đầu, giữa và cuối của các đường dẫn .... nó cũng đã sao chép các đường dẫn cho một số khung theo cách kỳ lạ ... đã loại bỏ thoát, hãy để "thực đường dẫn khung "cho những dự án đang sử dụng và loại bỏ các cảnh báo ... cũng cần phải xóa / thêm lại các khung sau khi sửa đường dẫn
Marcos Reboucas

6

Nếu điều này xảy ra sau khi bạn đã thêm Podfile vào dự án của mình và chạy cài đặt pod, hãy truy cập thư mục dự án của bạn, bạn sẽ thấy một tệp mới đã được tạo "{ProjectName} .xcworkspace" - mở tệp đó trong xcode

Các nhóm đã được cài đặt sẽ được liên kết chính xác với dự án của bạn trong tệp này


Có thể là bạn đã mở tệp dự án thay vì không gian làm việc.
Jason

3

Thực hiện theo giải pháp từng bước này:

  1. Bấm vào dự án của bạn (mục tiêu);
  2. Nhấp vào Cài đặt bản dựng;
  3. Trong Đường dẫn tìm kiếm thư viện, xóa các đường dẫn;
  4. Thêm ./**vào đường dẫn tìm kiếm thư viện.

3

Bổ sung câu trả lời

Tất cả các câu trả lời được cho là xóa đường dẫn tìm kiếm Khung hoặc Thư viện khỏi mục tiêu. Tôi có hai vấn đề:

  • Đầu tiên, tôi đã xem xét mục tiêu dự án chính của mình hơn là mục tiêu Kiểm tra đơn vị.
  • Thứ hai, tôi không thể tìm ra cách xóa đường dẫn tìm kiếm khung. Hóa ra là nó chỉ cần nhấp vào nó để vào chế độ chỉnh sửa và sau đó chỉ cần xóa chuỗi.

Tôi muốn thử điều này, nhưng tôi lo lắng nó sẽ phá vỡ ứng dụng. Bạn có chắc chắn mọi thứ đã hoạt động sau khi bạn làm điều này?
Supertecnoboff

@Supertecnoboff Nếu bạn lo lắng rằng nó không hoạt động, thì hãy lưu chuỗi trước khi bạn xóa nó. Bạn luôn có thể dán lại. Ứng dụng của tôi đã bị hỏng, vì vậy tôi chỉ cần tiếp tục thử mọi thứ cho đến khi một cái gì đó hoạt động. Câu trả lời của tôi ở trên là những gì làm việc cho tôi.
Suragch

1

Đối với tôi, vấn đề dường như là tôi đã không bao gồm các khung thích hợp (khi sao chép các addon từ một dự án khác, tôi cũng không sao chép các tệp khung)


1

Chìa khóa cho loại lỗi này là đi vào cài đặt bản dựng và xem xét từng phần của đường dẫn tìm kiếm như Đường dẫn tìm kiếm thư viện, Đường dẫn tìm kiếm khung và thậm chí có thể là Đường dẫn tìm kiếm tiêu đề và xóa bất kỳ đường dẫn nào không còn áp dụng ứng dụng đang có một thời gian khó khăn để cố gắng tìm kiếm. Loại bỏ chúng và tiếp tục tốt


1

đi kiểm tra khung nào bị thiếu, sau đó đi đến

=> Xây dựng giai đoạn => Liên kết nhị phân với thư viện

xóa thư viện và sau đó thêm lại


1

Tôi đã có một vấn đề tương tự đã biến mất khi tôi tạo một sơ đồ mới và sử dụng nó để xây dựng lại ???


1

Đối với tôi, tôi cũng đã kích hoạt Kiểm tra. Đường dẫn tìm kiếm các bài kiểm tra cũng được điền không chính xác.

Xóa đường dẫn tìm kiếm khung cho cả mã thông thường và mã kiểm tra!


1

Do các thư mục tùy chỉnh đã nhập vào đường dẫn tìm kiếm (khung và thư viện), dự án sẽ ghi đè các thư mục của nhóm. Vì vậy, nó không thể tìm thấy nó.

Để giải quyết vấn đề này, hãy xóa tất cả các thư mục tùy chỉnh khỏi

Đường dẫn tìm kiếm -> Đường dẫn thư viện và Đường dẫn khung,

chỉ thấy $ {được thừa kế}.

Tôi hi vọng cái này giúp được. Nó làm việc cho tôi.


1

nhập mô tả hình ảnh ở đây

Thêm $ (được kế thừa) -Objc -lcrypto - lssl trong Dự án -> Cài đặt bản dựng -> Đường dẫn tìm kiếm -> Đường dẫn tìm kiếm thư viện


Giải pháp trên đang hoạt động tốt với tôi, Nếu nó không hiệu quả với bạn, vui lòng chia sẻ ảnh chụp màn hình.
Bandish Kumar

1

Nếu điều này xảy ra sau khi cài đặt pod với một số phụ thuộc, vấn đề có thể là bạn đang sử dụng phiên bản cũ của ứng dụng (.xcworkspace) trên Xcode.

Sau khi cài đặt pod, đây là đầu ra bạn có thể thấy.

Đầu ra của một cài đặt pod.

Đầu ra của một cài đặt pod

Làm chính xác điều đó, đóng cửa sổ Xcode hiện tại của bạn và mở .xcworkspace mới.

Mở xcworkspace mới]

Mở xcworkspace mới


0

bạn nên kiểm tra tùy chọn cho việc này:

Xây dựng cài đặt-> Đường dẫn tìm kiếm khung-> {nhập Đường dẫn dự án của bạn}


0

Tôi đã xem xét tất cả [Đường dẫn tìm kiếm thư viện - Đường dẫn tìm kiếm khung - Đường dẫn tìm kiếm tiêu đề]. nhưng không có đường dẫn nào để xóa, vì vậy tôi có thể làm cho cảnh báo này biến mất bằng cách đi vào gói Xcode và tạo một thư mục trống tại vị trí đường dẫn mà cảnh báo đang phàn nàn.


0

Đảm bảo chỉ có 1 "libFlurry.a" được chọn trong mục tiêu

đã làm cho tôi.

nhập mô tả hình ảnh ở đây


0

Đừng quên tạo cùng một cấu hình cho dự án Pod trong không gian làm việc của bạn, Nếu bạn thay đổi thành cấu hình mới của MainApps.

Ví dụ,

Trong trường hợp của tôi, để giải quyết vấn đề này, tôi đã phải tạo cấu hình ReleaseOfficial cho các dự án Pod khi tôi tạo cấu hình ReleaseOfficial cho MainApp của mình.


0

Nếu bạn đã cài đặt bất kỳ nhóm mới nào và sau đó gặp lỗi này, chỉ cần thoát xcode> mở lại> xây dựng dự án


0

Nếu giải pháp điển hình không giải quyết được vấn đề, thì tôi đã khắc phục sự cố đó là đảm bảo rằng tất cả các phiên bản iOS trong dự án xcode (ví dụ: IPHONEOS_DEPLOYMENT_TARGET) / mục tiêu triển khai, podfiles (nếu có), v.v. được đặt thành cùng một số phiên bản.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.