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
という端末でこれをコンパイルします。
Xcode 8に更新しますか? – matt
私は同じ症状を抱えていましたが、原因の一部は私の手で(古い)llvmとclangリポジトリを$ PATHに作成していたので、Xcodeの新しいインストールでこのエラーが発生しました。足。私は古いllvm/clangをしばらく保存したかったのですが、私にとって最も簡単な解決策は、Foundationフレームワークでコンパイルしたい時にclangの代わりにgccコマンドを使うことでした。 – WeakPointer