programing

PCH 오류를 수정하는 방법은 무엇입니까?

closeapi 2023. 5. 26. 20:57
반응형

PCH 오류를 수정하는 방법은 무엇입니까?

가 앱을빌고드하려에서 내 앱을 하려고 할 때.Xcode다음 오류 메시지가 표시됩니다.

컴파일러(clang-425.0.27)와 다른 분기((clang-425.0.24)에서 빌드된 PCH 파일

이전에는 그런 일이 없었지만, 이것은 Xcode를 업데이트한 후 처음으로 빌드된 것입니다.

다른 앱은 작동하지만 이 특정 앱은 작동하지 않습니다.

제가 전원을 끄면."Precompile Prefix Header"설정, 작동합니다.

이 오류를 해결하고 설정을 계속 유지하려면 어떻게 해야 합니까?

이것은 종종 캐싱 문제입니다.일반적으로 옵션 키를 누른 상태에서 Product > Clean Build Folder...를 선택하여 해결할 수 있습니다.

를 합니다.DerivedData프로젝트의 폴더입니다.Xcode 기본 설정 -> 저장 위치를 확인합니다.

제품 > 빌드 폴더 정리...(옵션 키를 누른 상태에서) 대부분의 사용자에게 적합합니다.@gaige가 선택한 답변을 봅니다.

대부분의 사용자(나 자신 포함)와 달리 여전히 문제가 발생하는 경우 XCode는 사전 컴파일된 공유 헤더를 다른 곳에 남겨두었을 가능성이 높습니다.저는 다음과 유사한 폴더에 있었습니다.

/var/folders/<some random two characters>/<some random string>/C/com.apple.Xcode.502/SharedPrecompiledHeaders

방금 SharedPrecompiled 전체를 삭제했습니다.헤더 폴더와 그것이 저에게 해결해 주었습니다.여기선 다른 곳은 별로 안 만질 거예요

Xcode Preferences->Locations(wcochran의 답변에 언급된 위치)로 이동하여 DerivedData 폴더의 이름을 변경합니다.저는 단순히 "DerivedData"에서 "DerivedData2"로 제 것을 변경했고, 그로 인해 시스템이 이전 위치에 대한 참조를 중단하게 되었습니다.이것은 다른 어떤 대답도 통하지 않을 때 저를 위해 고쳐주었습니다.사진 참조:

여기에 이미지 설명 입력

다른 옵션은 효과가 없었습니다. 다음은 해결 방법입니다.

는 캐시폴더삭다에 있는 캐시 했습니다./Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/(그것도 작동한다면).

오류가 다음과 같은 경우 오류에 언급된 폴더를 삭제해 보십시오.

PCH was compiled with module cache path '/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8', but the path is currently '/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8

ios 프로젝트 디렉토리에서 ModuleCache 폴더를 빌드하고 삭제합니다.달려.react-native run-ios다시 말하지만, 그것은 예상대로 작동해야 합니다.- 요약 -rm -rf ios/build/ModuleCache

Build그리고.DerivedDataFinder의 프로젝트 위치에 있는 폴더가 제게 도움이 되었습니다.

Swift Package Manager로 프로젝트를 빌드할 때 이 오류가 발생했습니다.

▁the▁delete다▁just▁the니를 삭제하는 것입니다..build디렉토리입니다.

Xcode를 업그레이드한 후 여러 프로젝트에서 이를 받았습니다.Clean Build Folder와 Clean은 아무런 효과가 없었습니다. @seedes answer and @josema.vi taminew의 의견이 저에게 도움이 되었습니다.그러나 약간의 교활함을 사용하지 않는 한 까다로울 수 있으므로 다음은 단계별 바로 가기입니다.

  1. 실패한 빌드 로그로 이동
  2. cmd-f "SharedPrecompiled" 사용헤더"를 찾아냅니다(대규모의 끔찍하고 복잡한 명령줄 중간에 있을 것입니다).
  3. "SharedPrecompiled" 텍스트를 끌어서 선택합니다.헤더" 및 해당 경로 비트의 시작 부분(큰 텍스트 블록의 중간에 있음)에 도달할 때까지 앞에 있지만 뒤에 있지 않은 모든 문자(예: "/var/folders/03/n71d4r551jv40jv5nb8r9fjy80000gn/C/com.apple).Xcode.501/공유 사전 컴파일머리글
  4. 파인더 열기
  5. 메뉴: 이동 -> 폴더로 이동...
  6. 선택한 경로 복사/삭제
  7. "사전 컴파일된 공유"에서헤더" 모든 하위 폴더 삭제(안전: 캐시된 데이터만 해당)

...이제 모든 프로젝트가 "고정"되지만, 처음에는 캐슁이 전혀 없는 상태에서 자체적으로 재구축해야 합니다(다음 빌드만 정상보다 느립니다).

특히 명령줄에서 빌드하거나 빌드 스크립트가 있는 경우 xcode 대상을 정리하는 것만으로는 충분하지 않습니다.이 폴더를 삭제했습니다.

사전 컴파일된 헤더 위치는

Target -> build settings => "Build locations" -> Precompiled headers cached path

다음을 사용하여 이 폴더를 삭제합니다.

#rm -fr SharedPrecompiledHeaders

여기에 이미지 설명 입력

내 경우에는 SharedPrecompiled 아래의 모든 파일을 제거했습니다.머리글을 이렇게 하면 모든 것이 정상적으로 작동하기 시작했습니다.

sudo find /var/folders/ -type d -name "SharedPrecompiledHeaders" | xargs -n 1 -I dir sudo find dir -name \* -type f -delete

프로젝트를 다른 위치에 복사할 때 항상 이러한 현상이 발생합니다.저는 이것을 보고서나 다른 것으로 밀어넣을 것입니다.

이전 위치와 새 위치의 빌드 폴더(rm -rf Build/)를 삭제해야 작동합니다.빌드 폴더에는 새 위치와 관련이 없는 데이터가 포함되기 때문에 의미가 있습니다.

파생 데이터 정리 또는 공유 사전 컴파일 삭제이 경우 헤더 폴더는 실제로 이 기능을 수행하지 못했습니다.

청소로 해결이 안 된다면요.빌드 캐시 문제입니다. 옵션 키를 누른 상태에서 Product > Clean Build Folder로 이동합니다.그것이 제 문제를 해결했습니다.

제 경우 Xcode는 프로젝트 메인 번들에 DerivedData 폴더를 만들고 있었습니다(/Users/Path_to_your_project_source_code/YourProjectName/DerivedData).

방금 소스 코드 번들에서 이 폴더를 삭제하고 작동하고 있습니다.

Xcode Preferences(Xcode 기본 설정)-> Locations(위치)로 이동하여 DerivedData(파생 데이터)가 "상대적"으로 선택되었는지 확인하려면 다음과 같이 하십시오.아래 그림 참조

당신은 "shift + command + C"를 눌러야 하며, 그러면 당신은 성공적으로 빌드될 것입니다.

파생 데이터를 정리하거나 삭제하는 작업이 제대로 수행되지 않았습니다..pch 파일을 터치/저장(문자를 추가한 다음 삭제)하여 강제로 다시 빌드하도록 했습니다.이것은 효과가 있었습니다.

클린 빌드를 수행해도 효과가 없으면 다음에서 PCH 파일을 찾습니다./var/folders/../SharedPrecompiledHeadersPCH 파일을 제거하는 것도 도움이 되었습니다.

업데이트됨

이것은 저에게 완벽하게 효과가 있었습니다.

  • 프로젝트 또는 작업영역을 닫습니다.
  • 파인더에서: ⇧shift+⌘cmd+g
  • 붙여넣기 : ~/도서관/개발자/Xcode/파생데이터/
  • ModuleCache 폴더를 삭제하고 휴지통을 비웁니다.
  • 프로젝트를 엽니다.
  • 클린 : ⇧shift+⌘cmd+k
  • 빌드 : ⌘cmd+B

xCode 7.3.1
여기서의

제품 또는 빌드 폴더를 청소해 보십시오.

SHIFT + COMMAND + K

OPTION + SHIFT + COMMAND + K

명령행 빌드를 수행하는 경우xcodebuild그리고 나서 그것이-derivedDataPath BUILD_DIR옵션이 사용됩니다.그렇다면 ModuleCache.noindex 디렉토리는 일반 Xcode 위치 대신 BUILD_DIR에 있게 됩니다.ModuleCache.noindex 디렉토리를 삭제하면 모든 설정이 완료됩니다.

제가 리액트 네이티브 앱을 만들고 있는데, iOS 클라이언트는 일반적으로 리액트 네이티브 도구 세트를 통해 명령줄에서 빌드되기 때문에 이러한 상황이 발생했습니다.

저는 프로젝트를 청소하고 빌드 폴더를 청소해 보았지만 둘 다 작동하지 않았습니다.

그 후 xCode를 완전히 종료하고 표준 위치인 ~/Library/Developer/Xcode/DerivedData에서 파생 데이터 폴더를 삭제하고 xCode를 다시 시작하여 프로젝트를 구축했습니다.

그것으로 문제가 해결된 것 같습니다.

방금 삭제했습니다.DerivedData저를 위해 일했습니다.

언급URL : https://stackoverflow.com/questions/15463179/how-to-fix-pch-error

반응형