2012-09-21 2 views
1

터미널에서 xcodebuild를 사용하여 RunTeszt2라는 테스트 응용 프로그램에서 빌드를 만듭니다. 이 앱은 iOS 단일보기 애플리케이션으로 아무 것도 생성되지 않고 방금 생성되고 닫힙니다.iOS : XCode 4.5 : xcodebuild 오류 - 치명적인 오류 : 'UIKit/UIKit.h'파일을 찾을 수 없습니다.

터미널에서이 작업을 시도하면 빌드가 실패합니다.

xcodebuild -target "RunTeszt2" -sdk "$iphoneos5" -configuration Debug 

오류 :

/Users/toodygarik/Desktop/RunTeszt2/RunTeszt2/RunTeszt2-Prefix.pch:12:13: fatal error: 'UIKit/UIKit.h' file not found #import <UIKit/UIKit.h>

The following build commands failed: 
ProcessPCH /var/folders/6s/cjw35hhs5lb6wpnx9m8lr2km0000gn/C/com.apple.Xcode.501 
/SharedPrecompiledHeaders/RunTeszt2-Prefix-bxwegbsdjylasccydwchfkbjadur/ 
RunTeszt2-Prefix.pch.pth RunTeszt2/RunTeszt2-Prefix.pch normal i386 objective-c 
com.apple.compilers.llvm.clang.1_0.compiler 

내가 엑스 코드 (4.5)에서 응용 프로그램을 실행하면 빌드가 완료되고 모든 것이 괜찮습니다. Xcode에서 앱을 실행할 때 console.app 로그를 확인했는데 위의 오류 메시지가 표시되지 않습니다.

이 문제의 원인은 무엇입니까?

편집 : H2CO3의 의견을 바탕으로, 나는이 같은 프로젝트의 빌드 설정의 기타 C 플래그 항목 편집 :

-isysroot $SDKROOT 

을 ... 그리고 지금은 특정 문제가 해결된다. 나는 다른 xcodebuild 관련 문제로 돌아왔다 : iOS: XCode 4.4.1: xcodebuild error - Unable to read diagnostics from file

고마워, H2CO3!

+0

sysroot가 올바르게 설정 되었습니까? –

+0

어떻게 설정할 수 있습니까? 설정 대상은 무엇입니까? –

+1

"-isysroot "을 컴파일러 및 링커 플래그에 추가합니다. 여기서 SYSROOT는 iPhoneOSXXX.sdk 디렉토리의 경로 여야합니다 (XXX는 버전 번호 임). –

답변

2

대상으로 삼는 특정 OS의 개발 sysroot를 지정해야합니다. 그렇지 않으면 컴파일러와 링커가 헤더와 라이브러리를 찾을 수 없습니다. 컴파일러 및 링커 플래그에 -isysroot <SYSROOT>을 추가하십시오. 여기서 SYSROOTiPhoneOSXXX.sdk 디렉토리의 전체 경로 여야합니다 (XXX는 iOS의 버전 번호 임).