3

Objectivecとcのファイルが混在するプロジェクトがあります。cヘッダーファイルの1つで、complex.hをインポートしようとしています。Xcodeは、NSObjRuntime.hに関連する13のコンパイルエラーを生成します。

NSObjRuntime.h

問題の解析予期される識別子または'('

解析の問題不明なタイプ名'NSString'..。

NSZone.hからさらに多くのコンパイルエラーが発生します。

エラーは、.cファイルで認識されないObjectiveCコードに起因しているように見えます。complex.hをインポートするために、cファイルをObjective cに変換する必要がありますか、それともより洗練されたソリューションがありますか?

4

1 に答える 1

3

エラーは、目的の C コードが .c ファイルで認識されていないために発生しているように見えます。

まさに。

complex.h をインポートするには、c ファイルを目的の c に変換する必要がありますか、それともより洗練されたソリューションがありますか?

この例では objc を使用する必要はありません。したがって、objc としてコンパイルする必要はありません。complex.hobjc ヘッダーを必要としないか、含めません。

c の翻訳に objc ヘッダーを含めないだけです。

このインクルードがプレフィックス ヘッダーからのものである場合は、次を使用できます。

#if defined(__OBJC__)
#import <Foundation/Foundation.h>
#endif

インクルードした別のヘッダーを介してインポートされた場合は、インクルードの依存関係を考慮する必要があります。不要なインクルードがある場合もあれば、 を使用して回避できる場合もあります#if defined(__OBJC__)

于 2012-05-08T22:25:07.860 に答える