2012-11-07 4 views
1

Qt 프로젝트에서 Mac OS SDK를 사용하는 가장 현명한 방법은 무엇입니까? 기본 SDK (MacOSX10.X.sdk)에 대한 경로, 필요한 헤더 경로 및 사용중인 프레임 워크를 표시해야합니다. (여기에서 도움; Qt, Qmake and Mac Os X SDKs) 내 프로 파일에이 일을하고있는 순간 qmake 프로젝트 및 Mac OS X SDK

:

MAC_SDK = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk 
if(!exists($$MAC_SDK)) { 
    error("The selected Mac OSX SDK does not exist at $$MAC_SDK!") 
} 
QMAKE_MAC_SDK = $$MAC_SDK 

INCLUDEPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers 

DEPENDPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers 

LIBS += -framework CoreFoundation 

SDK와는 엑스 코드 응용 프로그램 번들에, 도대체 무슨 일? SDK에 대한 경로를 저장하는 환경 변수가 있는지 궁금합니다. 또한, SDK 버전을 전환, 나는 MAC_SDK 경로를 이동하고 뭔가 다른 10.7로 변경하는 가장 좋은 방법은 무엇입니까?

+0

경로를 SDK로 수동 설정해서는 안되며, 컴파일시 자동으로 설정됩니다. 필요한 프레임 워크 만 사용하십시오. 그게 모든 –

+0

그것은 그냥 멀리 얻을 수 있습니다 나타납니다 + = $$ QMAKE_MAC_SDK/시스템 INCLUDEPATH/라이브러리/프레임 워크/CoreFoundation.framework/헤더 DEPENDPATH + = $$ QMAKE_MAC_SDK/시스템/라이브러리/프레임 워크/CoreFoundation.framework/헤더 LIBS + = -framework CoreFoundation – oggmonster

+0

글쎄, 더 나은,하지만 여전히 정말 qmake에 의해 추가되어야하므로 Frameworks 경로를 추가해야하는지 잘 모르겠습니다. –

답변

1

Xcode의 최근 버전 (4.4 이상 버전)은 이전에 /Developer 대신 Xcode 번들 자체의 모든 것을 유지합니다. 기타 도구 및 응용 프로그램은 별도로 다운로드 할 수 있습니다.

SDK를 쿼리하기 위해 Xcode (특히 xcodebuild)를 사용하지 않고 환경 변수를 인식하지 못합니까?

저는 qmake 프로젝트에서 SDK를 선택하고 사용하는 것과 동일한 접근 방식을 사용했습니다. 일반적으로 자주 변경되지 않는 최신 SDK로 개발합니다. OS (=> SDK)의 minimum version을 필요로하거나 필요로 할 수 있으므로 -mmacosx-version-min=10.X 컴파일러 옵션을 사용하여 이것을 선언 할 수 있습니다.