0

私は Xcode で OpenGLES を使用して何かに取り組んでいます。これは主に iOS で使用するためのものですが、OpenGLES の部分を C++ のみにして、ObjectiveC を使用しないという点で独立させたいと考えていました。ただし、OpenGLES インクルードは Objective-C (Availability.h) を必要とするものをインポートしているように見えるため、NSObjCRuntime.h から NSString に関するエラーが発生するため、CPP ファイルが正しくコンパイルされません。

私はそれらを理解していますが、他の人がこの問題をどのように回避しているか知りたいです。CPP 拡張子を持つ C++ ファイルを使用できるようにしたいと考えています。CPP ファイルの処理方法について、Xcode プロジェクトの設定に注目する必要がありますか?

ありがとう

4

3 に答える 3

0

ObjectiveCヘッダーを含むプレフィックスヘッダーがある可能性もあります。その場合は、これらをで囲む必要があります#ifdef __OBJC__

于 2012-09-21T17:39:52.690 に答える
0

私はそれを見つけました-CATransform3Dのために、QuartzCore.hが最終的に含まれています。これを代替品に置き換えるつもりだったことを忘れていました。

于 2012-09-25T08:53:29.390 に答える
0

デフォルトでは、 Xcode はcppファイルを C++ として扱う必要があります。__OBJC__どこかで手動で定義されたなどの特別な Objective-C のみの定義がないことを確認してください。具体Availability.h的には、Objective-C を必要としないため (これは単なるプリプロセッサのものです)、問題はおそらく別の場所にあります。

.cppiOS プロジェクトで行っているように、C++ としてコンパイルされたファイルから OpenGL を使用することは間違いなく可能です。

于 2012-09-21T16:38:30.573 に答える