Programing

PCH 오류를 수정하는 방법?

lottogame 2020. 7. 5. 21:10
반응형

PCH 오류를 수정하는 방법?


에서 내 앱을 빌드하려고 Xcode하면이 오류 메시지가 나타납니다.

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

이전에는 발생하지 않았지만 Xcode를 업데이트 한 후 첫 번째 빌드였습니다.

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

"Precompile Prefix Header"설정 을 끄면 작동합니다.

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


이것은 종종 캐싱 문제입니다. 일반적으로 옵션를 누른 상태에서 제품> 빌드 폴더 정리 ...를 선택하여 해결할 수 있습니다 .


것으로 보인다 제품> 클린 빌드 폴더 ... (옵션 키를 누르면로)이 대부분의 사람들에게 작동합니다. @gaige가 선택한 답변을 참조하십시오.

대부분의 사람들 (나 자신을 포함)과 달리 여전히 문제가 발생하면 XCode가 미리 컴파일 된 공유 헤더를 다른 곳에 남겨 두었을 것입니다. 나에게 그들은 이것과 비슷한 폴더에 있었다.

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

방금 SharedPrecompiledHeaders 폴더 전체를 삭제하면 문제가 해결됩니다. 그래도 나는 여기서 다른 많은 것을 만지지 않을 것입니다 ...


DerivedData프로젝트 폴더를 삭제하십시오 . Xcode 환경 설정-> 위치 아래에서 저장 위치를 ​​확인하십시오.


Xcode 환경 설정-> 위치 (wcochran의 답변에서 언급했듯이)로 이동하여 DerivedData 폴더의 이름을 바꾸십시오. 필자는 간단히 "DerivedData"에서 "DerivedData2"로 변경했으며 시스템이 이전 위치 참조를 중지하도록했습니다. 다른 답변이 없을 때이 문제가 해결되었습니다. 그림 참조 :

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


Finder의 프로젝트 위치에서 BuildDerivedData폴더를 삭제하면 도움이되었습니다.


다른 옵션 중 어느 것도 나를 위해 효과가 없었습니다.

캐시 폴더를 삭제했습니다 /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


Xcode를 업그레이드 한 후 여러 프로젝트에서이를 얻었습니다. Clean Build Folder 및 Clean은 효과가 없었습니다. @sedes answer 및 @ josema.vitaminew의 의견이 저에게 도움이되었습니다. 그러나 약간의 교활함을 사용하지 않으면 까다로울 수 있으므로 단계별 단축키는 다음과 같습니다.

  1. 실패한 빌드 로그로 이동
  2. use cmd-f "SharedPrecompiledHeaders" to find it (it will be in the middle of a massive horrible complex commandline)
  3. drag-select the text "SharedPrecompiledHeaders" and all the characters BEFORE but NOT AFTER it until you get to the start of that path bit (still in the middle of the big block of text) e.g. for me: "/var/folders/03/n71d4r551jv40j5nb8r9fjy80000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
  4. open Finder
  5. menu: Go -> Go to folder...
  6. copy/paste the selected path
  7. in "SharedPrecompiledHeaders" delete ALL sub-folders (this is safe: it is only cached data)

...and now all your projects will be "Fixed", but will have to re-build themselves first time with zero caching (so the NEXT build ONLY will be slower than normal).


in my case I got rid of all files under SharedPrecompiledHeaders this way and everything started to work fine:

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

Specially if you build from command line or you have a build script, cleaning xcode target is not enough. You have delete this folder.

The precompiled header location can be found in the

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

Delete this folder with,

#rm -fr SharedPrecompiledHeaders

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


If it's not solved by cleaning. It's a build cache problem - hold down Option key and navigate to Product > Clean Build Folder. That fixed my problem.


In my case Xcode was creating the DerivedData folder in my project main bundle(/Users/Path_to_your_project_source_code/YourProjectName/DerivedData)

I just deleted this folder from my source code bundle and now it is working.

To check Go to Xcode Preferences->Locations and see if DerivedData is selected to "Relative". See the picture below 여기에 이미지 설명을 입력하십시오


you should holding down "shift + command + C",and then you will build succeed


Cleaning and/or deleting derived data did not work for me. What did work is touching/saving the .pch file (add a character, then delete it) to force it to be rebuilt. This did the trick.


If doing a clean build does not work for you, look for the PCH files in /var/folders/../SharedPrecompiledHeaders and remove the PCH files, which worked for me.


You may try cleaning the product or the build folder:

SHIFT + COMMAND + K

OPTION + SHIFT + COMMAND + K


I met this error when trying to build a project with Swift Package Manager.

The solution is just delete the .build directory.


If you are doing a command line build via xcodebuild, then see if the -derivedDataPath BUILD_DIR option is used. If so, your ModuleCache.noindex directory will be in the BUILD_DIR instead of the normal Xcode location. Delete the ModuleCache.noindex directory and you will be all set.

I ran into this situation because I am building a React Native app, and the iOS client is typically built from the command line via the React Native toolset.


I've tried cleaning the project and cleaning the build folder which both didn't work.

After that, I quit xCode completely, deleted the derived data folder at its standard location: ~/Library/Developer/Xcode/DerivedData, started xCode again and built the project.

That seemed to have resolved the problem for me.


UPDATED

This worked perfectly for me:

  • Close your project or workspace.
  • In Finder: ⇧shift+⌘cmd+G
  • Paste: ~/Library/Developer/Xcode/DerivedData/
  • Delete the ModuleCache folder and empty trash.
  • Open up your project.
  • Clean: ⇧shift+⌘cmd+K
  • Build: ⌘cmd+B

xCode 7.3.1
reference here


For me this would always happen when I copy my project to another location. I'd do this to push it into a repo or something.

I have to delete the Build folder (rm -rf Build/) in the old and new locations to get it working. It makes sense because the Build folder will have data that is irrelevant to the new location.

Cleaning Derived Data or deleting the sharedPrecompiledHeaders folders didn't really do it in this case.


I just deleted DerivedData and worked for me.

참고URL : https://stackoverflow.com/questions/15463179/how-to-fix-pch-error

반응형