2016-08-01 15 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 

しかし、私がSierraでこのコマンドを実行しようとすると、これらのエラーが表示されます。

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 

Xcodeバージョン7.3.1(7D1014)とXcodeバージョン8.0ベータ4(8S188o)がインストールされています。私が持っているSierraのバージョンは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あなたは、単にXcodeの8

UPD

をインストールする必要があり、この問題を解決するために

は言及を忘れ:インストール後

あなたは最近のXcodeにコマンドラインツールを切り替えていることを確認してください。

$ 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

Hm。ちょうどXcode 8ベータ版をインストールしましたが、私はまだ同じ問題を見ています。 clangに渡すべき他の旗がありますか? – 425nesp

関連する問題