2013-12-20 7 views
10

新しい@import指令を使用するファイルにリンクされたObjective C++ファイル(.mm)をコンパイルしようとすると、いくつかのエラーが発生します。現在、私の唯一の解決策は、@importを古い#importディレクティブに置き換えることです。__cplusplusと組み合わせて目的Cで@importを使用する

他の解決策がありますか?まだ@importを使用できますか?

+1

エラー、具体的? – Tommy

+0

ビルドに失敗しました "予期しない" @ 'in program " –

答えて

19

: 最新のドキュメントによると、これは今すぐ動作するはずです。

thisを参照してください。 -fmodulesフラグの代わりに-fcxx-modulesフラグを使用する必要がありますが、公式ドキュメントには、EXPERIMENTAL and VERY BROKENが示すとおりです。私はそれがすべてで働くことを管理しませんでした...私の意見では、その機能がexperimentalステージから外れるまで、#import#includeに固執する方が良いです。 clang.llvm.orgから

-fcxx-modules 
    Enable the modules feature for C++ (EXPERIMENTAL and VERY BROKEN). 
+0

これは驚いたことに私のために働いていました。 – kevlar

+0

@kevlarその答えは3年以上前からだった。ドキュメントによると今はうまくいくはずだ。しかし、それはまだ自分で試していない。 –

+1

厄介な質問に申し訳ありませんが、このフラグはどこに設定しますか – stan

関連する問題