[ios] XCode 4.1 치명적인 오류 : 미리 컴파일 된 헤더가 작성된 후 stdlib가 수정되었습니다.


Answers

Xcode 메뉴 바에서 Product> Clean을 선택한 다음 Product> Build를 선택하면 훨씬 쉽게 해결할 수있었습니다.

Question

다음을 사용하여 iPhone 앱 만들기 :

XCode 4.1

기본 SDK iOS 4.3

애플 LLVM 컴파일러 2.1

다음 오류가 발생하기 시작했습니다.

치명적인 오류 : '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/../lib/clang/2.1/include/stdint.h'파일이 수정되었습니다. 미리 컴파일 된 헤더가 작성 되었기 때문에

나는 XCode와 OS X를 재설치하려고 노력했다 - 행운이 없다. 누구든지이 원인을 알고 있습니까?




내가 실행했을 때 cordova에서이 오류가 발생했습니다 : cordova run ios

fatal error: file '/Users/.../cordova/platforms/ios/CordovaLib/CordovaLib_Prefix.pch' has been modified since the precompiled header
  '/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch' was built
note: please rebuild precompiled header
  '/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch'
1 error generated.

** BUILD FAILED **    

The following build commands failed:
    CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/NSDictionary+Extensions.o Classes/NSDictionary+Extensions.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/CDVInvokedUrlCommand.o Classes/CDVInvokedUrlCommand.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler

나는 깔끔하게 해봤지만 빌드했지만 작동하지 않습니다. 마지막으로 '/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode'폴더를 제거하고 작동합니다! 이 팁은 다른 사람들에게 도움이 될 수 있습니다.




xcodebuild 를 실행하면 문제가 발생했을 때 실제로 다른 해결책이기 때문에 Cryptognome의 대답에 대한 설명보다는 별도의 답변을 추가 할 것입니다. Cryptognome처럼 xcodebuild 명령 줄 도구로 오류가 발생했습니다. 수동으로 /var 하위 폴더에 들어가는 대신에, 공유 PCH에 대해 내 자신의 캐시를 설정할 수 있음을 발견했습니다. 환경 변수 SHARED_PRECOMPS_DIR 을 설정하여 다음과 같이 할 수 있습니다

xcodebuild -target Foo -configuration Release SHARED_PRECOMPS_DIR=/tmp/foo/SharedPCH

이렇게하면 자동 빌드에서 오류가 발생하지 않습니다.

위의 명령에서, 나는 또한 일반적으로 OBJROOTSYMROOT env var를 설정하여 / tmp에도 빌드합니다. 결국, 나는 물건을 정리합니다.




iOS 시뮬레이터> 콘텐츠 및 설정 초기화 ...로 시뮬레이터의 콘텐츠를 삭제하고 나머지를 누릅니다. 이렇게하면 미리 컴파일 된 헤더 및 리소스 인스턴스가 제거됩니다. 이것은 나를 위해 일했다.




나는이 오류를 제거 (명령 + 시프트 + K) 및 재구성만으로 간단히 제거 할 수있었습니다.




Related