2016-08-01 4 views
3

MacOS Sierra에서이 스 니펫을 컴파일하는 방법을 알아 내려고하고 있습니다.ObjectOS-C를 macOS에서 clang으로 컴파일하십시오. Sierra

#import <Foundation/Foundation.h> 

int main() { 
    NSLog(@"Hello World"); 
    return 0; 
} 

엘 캐피 탄에서이 명령으로 컴파일 할 수있었습니다. 나는 시에라에 그 명령을 시도 할 때

clang -x objective-c -framework Foundation main.m 

그러나, 나는 이러한 오류를 참조하십시오.

In file included from main.m:1: 
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:10: 
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSArray.h:5: 
/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:44:12: error: unknown property attribute 'class' 
@property (class, readonly) BOOL supportsSecureCoding; 

이것은 내가 사용하고 clang의 버전입니다.

$ clang -v 
Apple LLVM version 7.3.0 (clang-703.0.31) 
Target: x86_64-apple-darwin16.0.0 
Thread model: posix 
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

나는 엑스 코드 버전 7.3.1 (7D1014)와 엑스 코드 버전 8.0 베타 4 (8S188o) 설치되어 있습니다. 시에라 내가 가지고있는 버전은 10.12 베타 (16A254g)입니다.

참고 : Xcode가 아닌 clang으로 터미널에서 컴파일하려고합니다.

+0

Xcode 8로 업데이트 하시겠습니까? – matt

+0

동일한 증상이 있었지만 부분적으로는 필자가 (오래된) llvm과 clang 저장소를 $ PATH에 내장하여 사용하고 있었기 때문에 Xcode의 새로운 설치로 인해이 오류가 발생했습니다. 발. 그 오래된 llvm/clang을 잠시 동안 유지하고 싶었고 가장 간단한 해결책은 Foundation 프레임 워크로 컴파일하고 싶었던 시간에 clang 대신 gcc 명령을 사용하는 것이 었습니다. – WeakPointer

답변

7

Xcode 8 버전의 명령 줄 도구를 사용하고 있는지 확인하십시오. cted.

enter image description here

-1

Objective-C는 Clang 및 Xcode의 새 버전에서 클래스 속성을 지원합니다. 다음은 유용한 정보가있는 문서입니다 : Objective-C Class Properties.

당신은 단순히 엑스 코드를 설치해야이 문제를 해결하려면 8

가 언급하는 것을 잊었다 UPD : 설치 후

는 최근 엑스 코드에 명령 행 도구를 전환되는지 확인하십시오

$ clang --version 
Apple LLVM version 7.3.0 (clang-703.0.31) 
Target: x86_64-apple-darwin15.5.0 
Thread model: posix 
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 
$ xcode-select -print-path 
/Applications/Xcode.app/Contents/Developer 
$ sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developer/ 
$ xcode-select -print-path 
/Applications/Xcode-beta.app/Contents/Developer 
$ clang --version 
Apple LLVM version 8.0.0 (clang-800.0.33.1) 
Target: x86_64-apple-darwin15.5.0 
Thread model: posix 
InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 
+0

흠. Xcode 8 베타 버전을 설치 했는데도 여전히 동일한 문제가 발생합니다. 거기에 내가해야 할 다른 깃발이 있나요? – 425nesp

관련 문제