'ld : 경고 : 옵션에 대한 디렉토리를 찾을 수 없습니다'


524

내 Xcode 4 앱을 빌드 할 때 다음 경고가 표시됩니다.

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'

하지만 앱에 Google 웹 로그 분석이 없습니다. 오류를 어떻게 제거 할 수 있습니까? 그리고 앱을 보관하면 오류가 발생합니다.

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

나는 많은 것을 시도했지만 .IPA 파일을 만들려고 할 때 여전히이 오류가 발생합니다.


10
하지만 함께, 매우 유사한 경고가 있습니다 -F보다는 -L: directory not found for option '-F/.... 차이점은 아래의 @macayer의 답변을 참조하십시오.
— pkamb

1
참고 : 공백이있는 디렉토리를 인용하십시오. 예 : $(PROJECT_DIR)/my folder` "$ (PROJECT_DIR) / my folder"
— Jacksonkr

클래스에 적절한 대상 멤버십이 지정 되지 않은 경우이 문제가 발생했습니다 .
— Tom Howard

1
@Jackson 그것은 나를 위해 그것을 고쳤다. -F 경고가 있었고 빌드 설정의 '프레임 워크 검색 경로'에 지시 된대로 인용하여 수정했습니다. 감사합니다
— Mark

정기적 인 백업이 가장 좋습니다.
— Gajendra K Chauhan

답변:


877

이 작업을 수행해야합니다.

  1. 프로젝트를 클릭하십시오 (타겟)
  2. 빌드 설정을 클릭하십시오
    • 오류에 -L플래그 가 포함 된 경우 라이브러리 검색 경로 에서 값을 삭제하십시오.
    • 오류에 -F플래그 가 포함 된 경우 프레임 워크 검색 경로 에서 값을 삭제하십시오.

그리고 두 번째 오류와 관련하여 죄송합니다.이 오류로 도움을 드릴 수 없습니다. 다른 사람이 당신을 도울 수 있기를 바랍니다.


5
이것은 내 프로젝트를 부러졌지만, 난 그냥 내 Google 웹 로그 분석 #imports 주석과 SDK를 삭제, 엑스 코드는, 다시는 부가 종료하고 내 #imports을 주석 처리하며 :) 다시 일
— emotality

1
생략 한 단계가 있습니까? 나는 이것을했고 Xcode는 몇 초 전에 작동했던 다른 파일을 찾을 수 없습니다. 도움!
— 사용자

9
해당 라이브러리 경로가 실제로 필요한 경우 삭제에주의하십시오. 오류에 지정된 경로가 존재하는지 확인하십시오. 디스크에서 라이브러리의 위치가 이동되었을 수 있습니다.
— AWrightIV

3
라이브러리 검색 경로를 삭제 한 후 오류가 발생했습니다. ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK는 정적 라이브러리입니다)
— lee

2
오류를 지우려면 'AppTests'TARGET의 'Framework Search Paths'에서 경로를 삭제해야했습니다.
— AT3D

754

사람들이 혼란스러워하는 두 가지 오류가 있습니다.

"옵션 ' -L / ... "디렉토리를 찾을 수없는 경우 라이브러리 오류이므로 다음을 시도해야합니다.

  • 프로젝트를 클릭하십시오 (타겟)
  • 빌드 설정을 클릭하십시오
  • 라이브러리 검색 경로 아래에서 경로 를 삭제하십시오.

" -F / ... 옵션에 대해 디렉토리를 찾을 수없는 경우" 는 프레임 워크 오류이므로 다음을 시도해야합니다.

  • 프로젝트를 클릭하십시오 (타겟)
  • 빌드 설정을 클릭하십시오
  • 프레임 워크 검색 경로 아래에서 경로 를 삭제하십시오.

이것은 참조 된 파일을 움직일 때 발생할 수 있습니다.


3
왜 모든 답변이 당신만큼 간결하고 도움이 될 수 없습니까? 감사합니다. 부수적 인 질문이 있습니다 : cryptic -L / -F 오류에 대해 어디서 배울 수 있습니까? 나는 전체 링크 / 컴파일 / 빌딩 게임에 익숙하지 않으며 Xcode의 내장 문서는 정확히 집에 쓸만한 것이 아닙니다. 나는이 물건의 대부분이 명령 줄을 통해 액세스 할 수 있다고 가정합니다. 이 가정에서 내가 맞습니까? 이 모든 것들로 시작해야 할 곳을 아는 것조차 어려웠습니다. 나는 웹 개발에 익숙하기 때문에 그 영역에서 정보를 찾는 것이 조금 더 쉽다.
— 벤 주식

검색 경로를 삭제하면 FacebookSDK를 찾을 수 없음을 다시 표시합니다. -F 오류입니다. Xcode 6.1을 사용하고 있습니다
— Rinku

나를 위해 일했다. 프로젝트와 테스트 모듈 (iOS8.3에서 iOS9로 프로젝트 업그레이드시)의 대상에서 프레임 워크 검색 경로를 삭제해야했습니다.
— ObjectiveTC

1
애플에 와서, "그냥 작동"하는 일이 발생했습니다 ... 이것은 개발자에게도 적용되어야합니다. 적어도 이러한 비밀 메시지 대신 이러한 종류의 문제를 해결하는 방법에 대한 제안을 제공하십시오. 킨다는 마이크로 소프트를 생각 나게한다.
— John Contarino

2
"-L은 라이브러리 검색 경로"이고 "-F는 프레임 워크 검색 경로" 지침에 대해 대단히 감사합니다 .
— swiftBoy

79

내 문제는 CocoaPods 가 생성 한 .xcworkspace 대신 원래 .xcodeproj 를 열었다는 것입니다 .


이 정말 키보드에 머리를 두드리는 3 시간 후 저를 저장 젠장
— 그레고리 살 단하을

60

다음에서 참조를 제거해야했습니다.

  • 표적
  • 빌드 설정
  • 프레임 워크 검색 경로

여기에 이미지 설명을 입력하십시오

그런 다음 빌드가 손상되었습니다 (예상). 그래서 프레임 워크 (FB SDK)를 제거하고 다시 추가했습니다. 더 이상 오류나 경고가 없습니다. :)


19

나는 코코아 포드를 사용 하므로 나를 위해 Xcode를 종료하고 실행했습니다.

pod install

다시 프로젝트를 다시 열었습니다. 이것은 모든 것을 고쳤다!


1
귀하의 제안이 실제로 비슷한 문제에 대한 해결책이 될 수 있는데 왜 귀하가 다운 봇을 받고 있는지 확실하지 않습니다! 특히, 새 빌드 구성을 프로젝트에 추가 한 후 유사한 오류 메시지가 나타나는 경우 해결책입니다. 새 빌드 구성을 추가하면 기존 구성이 자동으로 복제 pod install되므로 "구성 파일 기반"열 값을 조정 하기 위해 실행해야 합니다.
— Cellane

1
또한 코코아 포드는 작업 영역을 생성합니다. 프로젝트 파일이 아닌 파일을 열어야합니다. 포드 설치 + 작업 공간 파일을 열면 문제가 해결되었습니다.
— Michael Krebs

이온 성에서 나를 위해이 작품은 내가 포드 폴더 플랫폼 / IOS 내부에 설치 실행했을 때
— 바스 반 디크

18

나를 위해 문제는 누락 된 이스케이프 "\"문자였습니다.

라이브러리 검색 경로에서 검색 경로가 여러 줄로 나뉘 었습니다. 편리하게, 그들은 나의 길의 공간에서 깨고 있었다. 이스케이프 "\"를 추가하면 문제가 해결되었습니다.

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

이것은 완벽한 답변입니다! 2014 년 4 월 테스트
— Van Du Tran

1
이것이 2015 년 2 월 Xcode 6에서 여전히 깨져 있다는 것은 한심한 일입니다. 경로의 공백은 수동으로 벗어날 필요가 없습니다.
— StilesCrisis

위의 승인 및 높은 투표 답변은 저에게 효과적이지 않았지만 이것은 효과가 없었습니다. 이 문제라는 힌트는 Xcode가 2 -L 오류를 발생시키고 각 오류가 완전한 경로의 조각이며 공간을 잃고 있다는 것입니다. 2015 년에 우리는 탈출 공간에 대해 걱정할 필요가 없으며, 우리를 위해 뒤에서 처리해야한다고 동의했습니다!
— John Contarino

예, 이것은 Xcode에서 시스템에 의해 검색 경로가 자동으로 추가 될 때 발생하는 오래된 문제입니다 (예 : 라이브러리를 '내장 바이너리'로 드래그하여 어떤 이유로 공백을 자동으로 탈출하지 않고 해석하지 않습니다)
— Ash

13

내가 제거해야 할 참조를 찾았습니다.

  • 표적
  • 빌드 설정
  • 헤더 검색 경로

33
Google을 사용하여 'ld : warning : 옵션에 대한 디렉토리를 찾을 수 없음'에 대한 해결책 찾기
— Jasper

13

필자의 경우 문제는 불완전하거나 죽은 링크, 오래된 링크 또는 동일한 유형의 여러 프레임 워크가있는 프레임 워크 검색 경로였습니다. 그것들을 제거하면 프로젝트가 아무런 문제없이 컴파일됩니다.

빌드-> 정리해야합니다

여기에 이미지 설명을 입력하십시오


10

Xcode 충돌 후 동일한 문제 (첫 번째 문제)가 발생했지만 제안 된 솔루션 중 아무것도 작동하지 않았습니다. 내가 한 경고를 억제하려면 :

• 계획 관리 ...

• 현재 체계를 삭제했습니다

• 이제 자동 상자 구성표


우리는이 원래 질문의 저자에게 이러한 모든 솔루션을 실행하기위한 메모를 게시해야합니다. 목록. 첫 번째, 두 번째 다음 솔루션, 다음 솔루션을 시도하십시오. 이것은 이전 프로젝트의 마이그레이션을 위해 수행했으며 다른 솔루션은 합리적인 솔루션이기 때문입니다. 내가 모든 것을 시도하지 않았다면, 나는 이것을 발견하지 못했을 것입니다 ... 계속해서 혼란에 빠졌습니다. Thx 프란체스코!
— Matthew Ferguson

8

이것이 나를 위해 일한 것입니다.

  1. 프로젝트를 클릭하십시오
  2. 빌드 설정을 클릭하십시오
  3. "프레임 워크 검색 경로"검색
  4. 경로를 지우고 "$ (상 속됨)"을 입력하십시오.

6

나는 같은 문제 인 것처럼 보입니다 (이번 XCode 5.0.2). 필자의 경우 XCode는 이미 "빌드 설정"에있는 따옴표를 이탈하기로 결정했습니다. 예를 들어 :

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

되었다

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

빌드가 실패했습니다 ...

따옴표에서 탈출구를 제거하면 모든 것이 잘 작동했습니다. 또한 필요하지 않은 경우 따옴표를 모두 제거하는 것이 가장 좋습니다.


1
이것을 위해 거대한 +1. ""에있는 이스케이프는 -L 및 -F 옵션 모두에 대해 "directory not found"오류의 원인입니다.
— Will

1
매우 유용한 팁 ... 내 프로젝트 xcode 5.0.2는 경로의 시작, 중간 및 끝에서 따옴표를 이스케이프했습니다 .... 또한 이상한 방식으로 일부 프레임 워크의 경로를 복제했습니다 ... 제거 된 탈출, 그냥 "진짜 프로젝트가 사용하고 경고를 제거하는 것에 대한 프레임 워크 경로 "… 경로를 수정 한 후 프레임 워크를 제거 / 다시 추가해야했습니다
— Marcos Reboucas

6

프로젝트에 Podfile을 추가하고 Pod 설치를 실행 한 후이 문제가 발생하면 프로젝트 폴더로 이동하면 "{ProjectName} .xcworkspace"라는 새 파일이 표시됩니다. xcode에서 해당 파일을여십시오.

설치된 포드는이 파일에서 프로젝트에 올바르게 연결됩니다.


작업 공간 대신 ​​프로젝트 파일을 열었을 수 있습니다.
— Jason

3

이 단계별 솔루션을 따르십시오.

  1. 프로젝트 (타겟)를 클릭하십시오.
  2. 빌드 설정을 클릭하십시오.
  3. 라이브러리 검색 경로에서 경로를 삭제하십시오.
  4. ./**라이브러리 검색 경로에 추가하십시오 .

3

보충 답변

모든 대답은 대상에서 프레임 워크 또는 라이브러리 검색 경로를 삭제한다고 말했습니다. 나는 두 가지 문제가 있었다.

  • 먼저 단위 테스트 대상이 아닌 주요 프로젝트 대상을 살펴 보았습니다.
  • 둘째, 프레임 워크 검색 경로를 삭제하는 방법을 알 수 없었습니다. 클릭하여 편집 모드로 전환 한 다음 문자열을 삭제하는 것으로 나타났습니다.

시도해보고 싶지만 앱이 중단 될까 걱정했습니다. 이 작업을 수행 한 후에 모든 것이 제대로 작동 했습니까?
— Supertecnoboff

@Supertecnoboff 작동하지 않을까 걱정되면 문자열을 삭제하기 전에 저장하십시오. 언제든지 다시 붙여 넣을 수 있습니다. 내 앱이 이미 손상되었으므로 무언가 효과가있을 때까지 계속 시도해야했습니다. 위의 대답은 나를 위해 일한 것입니다.
— Suragch

1

나에게 문제는 적절한 프레임 워크를 포함하지 않은 것 같습니다 (다른 프로젝트에서 애드온을 복사 할 때 프레임 워크 파일도 복사하지 않았습니다)


1

이 유형의 오류의 핵심은 빌드 설정으로 이동하여 라이브러리 검색 경로, 프레임 워크 검색 경로 및 헤더 검색 경로와 같은 각 검색 경로 섹션을보고 더 이상 적용되지 않는 경로를 지우는 것입니다. 앱을 찾는 데 어려움을 겪고 있습니다. 그들을 제거하고 좋은 선생님을 수행


1

누락 된 프레임 워크를 확인한 다음

=> 빌드 단계 => 바이너리를 라이브러리와 연결

라이브러리를 제거한 다음 다시 추가하십시오


1

새 구성표를 만들고 다시 작성하는 데 비슷한 문제가 발생 했습니까 ???


1

나를 위해 테스트도 활성화했습니다. 테스트 검색 경로도 잘못 채워졌습니다.

일반 코드와 테스트 코드 모두에 대한 프레임 워크 검색 경로를 지우십시오!


1

검색 경로 (프레임 워크 및 라이브러리)에 입력 한 사용자 정의 디렉토리로 인해 프로젝트는 포드의 디렉토리를 대체합니다. 찾을 수 없습니다.

이 문제를 해결하려면에서 모든 사용자 정의 디렉토리를 삭제하십시오.

검색 경로-> 라이브러리 경로 및 프레임 워크 경로

$ {inherited} 만 참조하십시오.

이게 도움이 되길 바란다. 그것은 나를 위해 일했다.


1

여기에 이미지 설명을 입력하십시오

프로젝트에 $ (상 속됨) -Objc -lcrypto-lssl 추가 -> 빌드 설정-> 검색 경로-> 라이브러리 검색 경로


위의 솔루션이 제대로 작동합니다. 작동하지 않으면 스크린 샷을 공유하십시오.
— Bandish Kumar

1

일부 종속성이있는 포드 설치 후이 문제가 발생하면 Xcode에서 이전 버전의 앱 (.xcworkspace)을 사용하는 것입니다.

포드 설치 후, 이것은 당신이 볼 수있는 출력입니다.

포드 설치의 출력.

포드 설치의 출력

정확히 수행하고 현재 Xcode 창을 닫고 새 .xcworkspace를여십시오.

새로운 xcworkspace 열기]

새로운 xcworkspace 열기


0

이 옵션을 확인해야합니다.

빌드 설정-> 프레임 워크 검색 경로-> {프로젝트 경로 입력}


0

모든 [라이브러리 검색 경로-프레임 워크 검색 경로-헤더 검색 경로]를 살펴 보았습니다. 그러나 제거 할 경로가 없으므로 Xcode 번들로 이동하여 경고가 불평하는 경로 위치에 빈 디렉토리를 만들어이 경고를 제거 할 수있었습니다.


0

대상에서 1 개의 "libFlurry.a"만 선택 하십시오

나를 위해 일했다.

여기에 이미지 설명을 입력하십시오


0

MainApps 새 구성으로 변경하는 경우 작업 공간에서 포드 프로젝트에 대해 동일한 구성을 작성하는 것을 잊지 마십시오.

예를 들어

필자의 경우이 문제를 해결하려면 MainApp에 대한 ReleaseOfficial 구성 을 만들 때 포드 프로젝트 뿐만 아니라 ReleaseOfficial 구성 도 만들어야했습니다 .



0

경우 일반적인 솔루션은 나를 Xcode 프로젝트의 모든 아이폰 OS 버전 (예 : IPHONEOS_DEPLOYMENT_TARGET) / 배포 대상이 등 podfiles이 (해당되는 경우), 같은 버전 번호로 설정되어 있는지 보장 된 것이 고정 어떤 문제를 해결하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.