2

iOS用のアプリを構築しようとしています。既に C++ で記述されたライブラリがあり、それをアプリケーションで使用したいと考えています。したがって、当然、Objective-C++ を作成する必要があります。
次の単純なファイルから奇妙なエラーが発生します:
Engine.mm:

#import <Foundation/Foundation.h>

ええ...
これらは私が得ている種類のエラーです:

CFCalendar.h:70:28: Missing ',' between enumerators
CFCalendar.h:71:28: Redefinition of enumerator '__AVAILABILITY_INTERNAL__IPHONE_5_0'
CFError.h:69:43: Expected ';' after top level declarator
fatal error: too many errors emitted, stopping now

ご想像のとおり、これらのエラーはさらに多くあります。
これが私の設定です:

コンパイラ: Apple LLVM 4.1.
C ダイアレクト: GNU99
C++ ダイアレクト: GNU++98
C++ 標準ライブラリ: libstdc++ (GNU C++ 標準ライブラリ)次の
ようにソースをコンパイル: ファイルの種類

に応じて、他の多くのバリアントを試しましたが、うまくいきませんでした。
アドバイスをいただければ幸いです。

ありがとう、タル

4

2 に答える 2

2

結局、それは Xcode のバグであることが判明しました。ファイルを削除して再度作成したところ、機能しました。

于 2012-10-05T21:03:56.800 に答える
0

エラーに基づいて:

CFCalendar.h:71:28: Redefinition of enumerator '__AVAILABILITY_INTERNAL__IPHONE_5_0'

.m ファイルと .h ファイルの両方でヘッダーをインポートすると、同様の再定義エラーが発生しました。それがあなたの問題かどうかわからないのですが、.mm と .h の両方のインポートのスニペットを投稿していただけませんか?

于 2012-10-05T18:27:41.997 に答える