대상...'Pods/Pods.xccconfig'에 정의된 'OTHER_LDFLAGS' 빌드 설정을 재정의합니다.
나는 회사를 설립했습니다.SpatialIite
의 Proj.4
머리글 하나만.둘 다 Xcode 프로젝트이며 정적 대상이 있습니다.
git 서브모듈에서 cocoapods로 이동하려고 합니다.정적인 타겟은 코코팟과 함께 사용하기 어려울 것 같기 때문에, 저는 그냥 프로젝트를 보통 방식으로 구축하기를 원합니다.다음을 위해 팟스펙을 만들었습니다.Proj.4
다음에 대한 포드 파일 작성 후SpatialLite
경고를 받았습니다.
[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
이 문제를 읽었지만 경고의 의미와 해결 방법을 잘 모르겠습니다.
추가적으로, SpatiaLite 프로젝트를 열었을 때 작업 공간을 열었을 때, 둘 다 iOS 프로젝트일 것으로 예상되는 Mac OS X 64를 대상으로 합니다.내 포드 파일에는 "플랫폼:ios"라고 표시됩니다.
이는 대부분의 경우 효과가 있습니다.
설정 -> ->후 합니다. 추가$(inherited)
새로운 노선으로
"...target에 문제가 있는 경우...에 정의된 GCC_PREPROCESS_DEFINITIES 빌드 설정을 재정의합니다.그런 다음 대상 빌드 설정 -> 프리프로세서 매크로에 $( 상속됨)를 추가해야 합니다.
빌드 설정과 Cocoapods가 원하는 기본 빌드 설정이 충돌합니다.Cocoapods 빌드 설정을 보려면 프로젝트의 Pods/Target Support Files/Pods-${PROPJECTNAME}/에서 .xccconfig 파일을 확인하십시오.이 파일에는 다음이 포함되어 있습니다.
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/Commando"
OTHER_LDFLAGS = -ObjC -framework Foundation -framework QuartzCore -framework UIKit
PODS_ROOT = ${SRCROOT}/Pods
Cocoapods 설정이 만족스러운 경우 프로젝트에 대한 Build Settings(빌드 설정)로 이동하여 적절한 설정을 찾은 후 Delete(삭제) 키를 누릅니다.그러면 Cocoapods의 설정이 사용됩니다.
반면에 사용해야 하는 사용자 지정 설정이 있는 경우 해당 설정에 $(상속됨)를 추가합니다.
터미널에서 포드 명령에 대한 이 세 가지 오류를 보았습니다.
pod install
[!] MY_APP [디버그/릴리스] 대상이 HEADER_SEARCH_PATHs를 재정의합니다...
[!] MY_APP [디버그/릴리스] 대상이 OTHER_LDFLAGS를 재정의합니다...
[!] MY_APP [파일명/파일명] 파일 GCC_PREPROCESS_DEFINITIES...을(를) 재정의합니다.
$(상속됨)를 추가하면 이 세 가지 오류가 모두 사라집니다.
- 머리글 검색 경로
- 기타 링커 플래그
- 전처리기 매크로
프로젝트 -> 대상 -> 빌드 설정에서
이제 명령이 오류 없이 실행됩니다.
pod install
제가 뛰었을 때 비슷한 문제가 있었습니다.pod install
과 같은 오류를 .CLANG_CXX_LIBRARY
):
코코팟의 오류/경고
[!] The `Project [Debug]` target overrides the `CLANG_CXX_LIBRARY` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The `Project [Release]` target overrides the `CLANG_CXX_LIBRARY` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
픽스
- 다음 항목을 선택
Project
그래서 당신은 그것을 볼 수 있습니다.Build Settings
. - 다음 항목을 선택
Target
(AppName
Targets
) - »
C++ Standard Library
(아마도 굵은 글씨로 표시될 것입니다. 즉, 무시됩니다. - 라인(파란색으로 강조 표시됨)을 선택하고 (명령 + 백스페이스)를 누릅니다.
줄은 더 굵게 는 안 , 이 이 줄을 한다면,pod install
경고/경고가 사라졌어야 합니다.
시각적 지원
프젝트서찾을 .Target -> Build Settings -> Other Linker Flags
합니다.Other Linker Flags
, 프레스delete
키보드Mac 보드키)/Backspace
(일반 키보드) 설정을 복구합니다.저한테는 효과가 있어요.
예:
나 뒤에
저에게 문제는 목표 테스트에 있었습니다.나는 이미 그것을.$(inherited)
플래그가 내 기본 앱 대상에 있습니다.
MyAppTests 기타 링커 플래그에 추가했습니다.그 후에 내가 뛰었을 때pod install
경고 메시지가 사라졌습니다.
링크 중에 Xcode가 불만을 제기하는 경우(예: -lPod용 라이브러리를 찾을 수 없음), Xcode는 다음과 같은 암묵적 종속성을 감지하지 못합니다.
Product > Edit Scheme으로 이동 빌드 클릭 포드 추가 정적 라이브러리 정리 후 다시 빌드
아래 링크의 첫 번째 줄이 나의 하루를 저장했습니다.
프로젝트 빌드 설정에서 옵션에 값을 추가하려면 값 목록 앞에 $( 상속됨)를 추가합니다.
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
또한 포드 파일의 시작 부분에 이 행을 삽입하는 것도 잊지 마십시오.
platform :iOS, '5.0'
$( 상속됨)를 추가했지만 프로젝트가 아직 컴파일되지 않았습니다.문제는 "Build for active Architecture only" 플래그였기 때문에 YES로 설정해야 했습니다.
Xcode 스크린샷
Ankish Jain은 저에게 맞는 답을 가지고 있었습니다.여기에 정확히 무엇을 해야 하는지 알아내는 데 약간의 시간이 걸렸기 때문에 무엇을 해야 하는지 스크린샷이 있습니다.
나의 경우, 나는 내 '기타 링커 플래그'에 $(상속됨)를 추가해야 했습니다. 왜냐하면 그것이 터미널에서 Overriding으로 표시되었기 때문입니다.
포드 파일의 시작 부분에 이 행을 삽입(또는 Commanet 해제)하는 것을 잊지 마십시오.
platform :iOS, '9.0'
그것이 나의 하루를 구합니다.
포드 파일에 포드를 추가할 때마다 이러한 현상이 발생합니다.
저는 끊임없이 문제를 찾으려고 노력하지만 계속해서 빙빙 돌 뿐입니다!
오류 메시지 범위는 다양하지만 해결 방법은 매번 동일합니다!
pod 파일의 모든 pod를 주석 처리하고 터미널에서 pod 설치를 실행합니다.
그러면...
포드 파일에 있는 모든 포드의 주석을 제거하고 포드 설치를 다시 실행합니다.
매번 효과가 있었어요!
문제의 파일(이 경우는 LIBRARY_SEARCH_PATHs)에 $(상속됨) 플래그를 추가하자 다른 오류가 발생했습니다.Undefined symbols for architecture arm64: "_swift_getTypeByMangledNameInContextInMetadataState
다음을 변경하는 것이 효과적이었고 구축할 수 있었습니다.
>LIBRARY_SEARCH_PATHS = (
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
- "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", <--- Change this...
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"", <--- to this
"\"$(inherited)\"",
> );
언급URL : https://stackoverflow.com/questions/18376416/the-target-overrides-the-other-ldflags-build-setting-defined-in-pods-pods
'programing' 카테고리의 다른 글
Azure VM 로드 밸런싱 대 Traffic Manager (0) | 2023.05.17 |
---|---|
URLReferrer에서 쿼리 문자열 가져오기 (0) | 2023.05.17 |
MongoDB를 사용하여 최대 절전 모드로 전환 (0) | 2023.05.17 |
ExecuteReader를 사용하려면 열려 있고 사용 가능한 연결이 필요합니다.연결의 현재 상태는 연결 중입니다. (0) | 2023.05.17 |
여러 필드에 대한 Node.js 및 Mongoose 정규식 쿼리 (0) | 2023.05.12 |