방금 Xcode 버전 4.6.2 (4H10003)로 업데이트하고 시뮬레이터에서 이전에 작동하던 응용 프로그램 프로젝트를 실행하려고했지만 다음 오류가 발생하고 빌드가 실패했습니다.
컴파일러 ((clang-425.0.28))와 다른 분기 ((clang-425.0.27))에서 빌드 된 PCH 파일
무엇이 잘못되었으며 어떻게 해결할 수 있습니까?
방금 Xcode 버전 4.6.2 (4H10003)로 업데이트하고 시뮬레이터에서 이전에 작동하던 응용 프로그램 프로젝트를 실행하려고했지만 다음 오류가 발생하고 빌드가 실패했습니다.
컴파일러 ((clang-425.0.28))와 다른 분기 ((clang-425.0.27))에서 빌드 된 PCH 파일
무엇이 잘못되었으며 어떻게 해결할 수 있습니까?
답변:
프로젝트를 청소하십시오. 전체 빌드 폴더와 중간체를 정리할 수 있도록 Option을 누릅니다. Xcode를 종료하고 Finder에서 DerivedData 폴더의 전체 내용을 삭제해야 할 수 있습니다. 여기서 설명하는 것처럼 캐시를 비우고 모든 대상을 정리하는 방법 Xcode 4
알려진 문제
건물
이전에 Xcode 4.6.1 또는 이전 버전으로 빌드 된 제품을 빌드 할 때 다음과 유사한 오류와 함께 빌드가 실패합니다.
컴파일러 ((clang-425.0.28))와 다른 분기 ((clang-425.0.27))에서 빌드 된 PCH 파일
이 문제를 해결하려면 제품을 제작하기 전에 제품> 청소를 선택하십시오. 13663167
수행 제품> 청소 작업
위의 모든 것을 시도해 보았고 Xcode UI에서 잘 작동하지만 명령 줄 에서 xcodebuild 를 실행할 때 여전히 실패했습니다 .
이는 다른 라이브러리와 사전 컴파일 헤더에 대한 종속성 때문이었습니다. 명령 줄에서 실행할 때 xcodebuild는 여기에서 미리 컴파일 된 헤더를 저장 / 읽는 것처럼 보입니다.
/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
해당 폴더를 정리 한 후 xcodebuild가 성공했습니다.
sudo find /private/var/folders -name SharedPrecompiledHeaders
결과 디렉토리를 비웠다. 매력처럼 작동했습니다.
특히 명령 줄에서 빌드하거나 빌드 스크립트가있는 경우 xcode 대상 정리만으로는 충분하지 않습니다. 이 폴더를 삭제해야합니다.
미리 컴파일 된 헤더의 정확한 위치는 프로젝트에서 찾을 수 있습니다. 폴더 경로의 일부는 무작위로되어 있습니다.
Target -> build settings => "Build locations" -> Precompiled headers cached path
터미널을 실행하고이 폴더로 이동하여 삭제 (명령어 사용),
#rm -fr SharedPrecompiledHeaders
프로젝트 정리 및 실행
제품-> 청소 후 실행하십시오.