AdMob에 응용 프로그램을 넣은 후 "라이브러리를 찾을 수 없습니다" 오류가 발생
AdMob에 앱을 넣은 후 오류가 발생하고 있습니다.그 앱은 오늘까지 작동했습니다.오류는 다음과 같습니다.
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
이걸 어떻게 고칠 수 있을까요?감사해요.
저도 비슷한 "라이브러리를 찾을 수 없습니다" 문제가 있었습니다.하지만 그것은 내가 실수로 그것을 사용하고 있었기 때문입니다..xcodeproj
파일 대신 파일을 사용합니다..xcworkspace
파일.
때때로 라이브러리의 참조를 제거하고 다시 참조를 추가하기만 하면 됩니다.
Google Mobile Ads SDK 및 기타 라이브러리를 처음부터 다시 추가하는 것 외에, 라이브러리 검색 경로를 확인하는 것이 좋습니다.대상을 복사하거나 복제할 때 Xcode는 '\'를 사용하여 큰따옴표를 이스케이프해야 한다고 결정합니다.모든 \를 제거해야 합니다 - 이렇게 보여야 합니다 -
경로 앞에 여러 개의 '\'를 붙여 오류를 재현할 수 있었습니다.
대상을 선택하고 다음으로 이동합니다."Build Phases"
에"Link Binary With Libraries"
제거한다.".a"
해당 라이브러리의 파일입니다.청소 및 빌드.
Cocoapods와 관련된 오류가 다음과 같은 경우:
library not found for -lPod-...
기타 링커 플래그를 선택하고 여기서 제거해야 합니다.
추가 정보:코코팟을 사용하는 오래된 프로젝트가 있는 경우.그리고 최근에는 포드 파일에 use_frameworks!를 추가해야 했습니다.cocoapods가 상속되었기 때문에 더 이상 다른 링커 플래그에 라이브러리를 추가하지 않습니다.따라서 use_frameworks를 사용하기 전에 추가한 다른 링커 플래그에서 수동으로 제거해야 할 수도 있습니다!
나의 경우 Xcode 7도 Xcode 9.1/9.2에서 작동했습니다.
ld: library not found for -ldAfnetworking
clang: error: linker command failed with exit code 1 (use -v to see invocation)
세트Build Active architecture Only
로.Yes
오류가 다음과 같은 경우
ld: -lPod에 대한 라이브러리를 찾을 수 없습니다.
"libPods"라는 파일을 발견했습니다.(누락된 파일처럼) 빨간색인 a"는 프로젝트의 Framework 그룹에서 어떻게든 생성되었습니다.저는 그 파일을 그냥 제거했고 모든 것이 잘 되었습니다.
편집: 다른 솔루션
유사한 질문에 이미 답변한 다른 솔루션이 이 링크에 있습니다.
빌드 단계로 이동 -> 바이너리를 라이브러리와 연결하고 프로젝트 폴더에서 라이브러리를 사용할 수 없기 때문에 오류를 표시하는 라이브러리를 제거합니다.
답이 늦었지만 여기 제가 시도한 것들의 목록이 있습니다.따라서 문제를 해결하려는 사람이 있다면 한 곳에 있을 것입니다.
- 유효한 아키텍처 = armv7 armv7s
- 액티브 아키텍처 구축만 = 아니요
- 대상 -> 빌드 설정 -> 기타 링커 플래그 = $(계속)
- 대상 -> 빌드 설정 -> 라이브러리 검색 경로 = $(계속)
- 제품 클린
- 터미널의 포드 업데이트
ld: 라이브러리를 찾을 수 없습니다.
의 컴파일 시간 오류입니다.Static Library
은 에의해야에 의해 합니다.Static Linker
ld: library not found for -l<Library_name>
할 수 . 1. 오가발수있다니습할생류다▁1.Library not found for
에라러리경않경우에 하지 않은 Library Search Paths(LIBRARY_SEARCH_PATHS)
ld
은 단입니다.Static Linker
라이브러리의 위치를 찾을 수 없습니다.개발자로서 당신은 링커를 돕고 지적해야 합니다.Library Search Paths
Build Settings -> Search Paths -> Library Search Paths
2. 또한 새 프로젝트를 처음 열면 이 오류가 발생할 수 있습니다(.xcodeproj
지원, ) Cocoapods 지원, 실행pod update
하려면 이 대신 합니다. 대신 작업영역을 만들었습니다..xcworkspace
)
저는 이 문제를 해결하기 위해 IOS용 재료 라이브러리를 설치했기 때문에 이 문제가 발생합니다.
1: 대상 앱의 빌드 설정으로 이동합니다.
2: 기타 링커 플래그 검색
3: 다른 링커 플래그를 열고 오류에 언급된 라이브러리를 확인합니다.
4: 깃발을 제거합니다.
5: 청소하고 조립합니다.
이것이 당신의 문제를 해결하기를 바랍니다.
제 경우에는 명명 문제가 있었습니다.은 나의도서관은불다니라고 불렸습니다.ios-admob-mm-adapter.a
그러나 Xcode는 이름이 접두사 lib로 시작해야 한다고 예상했습니다.나는 방금 내 lib의 이름을 로 바꿨습니다.libios-admob-mm-adapter.a
문제를 해결했습니다.
저는 Cocoapods를 사용하며, 대상의 빌드 설정에서 기타 링커 플래그 옵션과 라이브러리를 연결합니다.깃발은 다음과 같습니다.-l"ios-admob-mm-adapter"
다른 사람에게 도움이 되길 바랍니다.
간단히 말하면,GoogleAdMobAds.a
프로젝트 대상에 없습니다.나에게 그것은libAdIdAccessLibrary.a
첨부된 .
의 ld: library not found for -{LIBRARY_NAME}
라이브러리 파일이 존재하지 않기 때문에 발생했습니다.
응용프로그램 대상의 "빌드 단계" 라이브러리 검색 경로 탭에서 라이브러리 경로를 확인합니다.
파일. 를 들어 를 " " " "와 같이 . 예를 들어 프로젝트 루트에 있는 파일의 경로를 다음과 같이 설정해야 합니다.$(PROJECT_DIR)
이 문제가 다소 오래된 문제인 것은 알지만, 방금 비슷한 문제가 발생하여 'pod update'를 실행하여 이 문제를 해결했습니다.내 라이브러리 오류는 AF 네트워킹에서 발생했습니다...
포드 파일에서 명시적 버전을 사용하지 않는 경우에는 포드 업데이트를 수행할 때 주의해야 합니다.
이 오류는 매우 이상합니다.
-ldA 네트워킹에서 이 오류가 발생하여 다른 경로와 작업에만 프로젝트를 복사합니다.
구성의 을 변경해 .Release
Production
하지만 코코아 포드는 그걸 좋아하지 않는 것 같아요다시 이름을 로 변경했습니다.Release
그리고 모든 것이 잘 지어집니다.
@raurora의 대답은 나를 올바른 방향으로 가리켰습니다.저는 "watchkitapp Extension/lib" 경로에 라이브러리를 포함하고 있었습니다.이 경우 라이브러리 검색 경로를 '\'로 이스케이프해야 했지만 링커가 이를 이해하지 못한 것 같습니다.문제를 해결하고 해결하기 위해 lib 경로를 한 단계 위로 이동하여 이름에 공백이 있는 디렉터리에 더 이상 없도록 했습니다.
팟 파일 '팟 업데이트'만 업데이트하면 정상적으로 작동합니다.
프로젝트에서 'pod update'를 실행하여 'library not found for -lSTPopup' 오류 문제를 해결했습니다.
트레버 판호르스트의 대답에 대해 언급합니다.
"포드 파일에서 명시적인 버전을 사용하지 않는 경우에는 포드 업데이트를 할 때 주의해야 합니다."
쉬운 해결책.문제를 해결하는 방법은 다음과 같습니다.
- 로 합니다.
platforms/ios
- 다음 합니다.
pod install
바로 그겁니다.이렇게 하면 누락된 라이브러리가 설치됩니다.
- 정리된 빌드 폴더
- 다시 시작된 XCode
가버렸어요...
라이브러리에 유사한 버그가 있습니다.결국 이렇게 해결할 수 있었습니다.
- Xcode Archive로 시작하기 전에 Flootbuild iOS를 사용했습니다.
- IOS 배포 대상을 더 높은 대상 iOS 11.2로 변경했습니다. 이전에는 위의 모든 오류를 제공하는 8.0과 같은 것이 있었습니다.
- Xcode의 IOS 배포 대상이 프로젝트, 대상 및 포드에서 동일한지 확인
저도 같은 문제에 직면했고 이 문제를 해결하기 위해 24시간 이상을 보냈습니다. 위의 솔루션에서 모든 것을 시도했지만 결국 제게 효과가 있는 것은
- 빌드 설정 -> 대상 선택
- 기본 사항
- 사용자 정의
- VALID_ARCHS를 arm64로 변경합니다.
야, 너는 재설치가 필요해요.
- 단순히 "rm-rf" 포드를 삭제합니다.
- 포드 설치 "bundle exec 포드 설치"
그럼 잘 되네요.
여기서도 마찬가지입니다, 하지만 제 경우에는 케노브의 대답으로 해결되었습니다.
언급URL : https://stackoverflow.com/questions/24050012/error-library-not-found-for-after-putting-application-in-admob
'IT' 카테고리의 다른 글
List. 스레드 안전 추가() (0) | 2023.05.23 |
---|---|
로드된 jQuery 버전을 확인하는 방법은 무엇입니까? (0) | 2023.05.23 |
원격 마스터를 로컬 분기에 병합하는 방법 (0) | 2023.05.23 |
gitrebase: "error: cannot stat 'file': 권한이 거부되었습니다." (0) | 2023.05.23 |
PowerShell을 사용하여 관리자로 명령을 실행하시겠습니까? (0) | 2023.05.23 |