'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.