2011-09-13 6 views
-3

私はIPHone開発で新しく、実装クラスと.hヘッダとして.cxxのライブラリを含めましたが、コンパイル時にエラーが発生しました。 は私がxcodeでcxxファイルをコンパイルします

class StackEvent; 
+1

コンパイラは何を言っていますか? – Davyd

答えて

0

の下に任意のCまたはC++コードを含むされるObjective-Cのクラスが実装クラスに「.mm」接尾辞ではなく、「.M」に名前を変更しなければならないような行でエラーが発生します。

+0

それは.mm ....に改名されましたが、まだそれは動作しません... Compilierはクラスをクラスに変更することを提案します – MJK

+0

しかし、私はC++ヘッダーをObjective Cヘッダーに含めます。 ...しかし、私はヘッダーにそれを含める必要があります – MJK

+0

そのヘッダーを参照するすべてのファイルも.mmに変更しましたか?つまり、 "Foobar.h"に.cxxファイルを含める必要がある場合、 "Foobar.h"を含むすべてのファイルは.mmに変更する必要があります – Isabel

0

直接または連鎖した#includesによってC++コードを含むヘッダーを含むObjective-Cファイル(.m)は、コンパイルエラーで失敗する可能性があります。

C++ヘッダーを「参照」できる場合は、.mファイルの名前を.mmに変更する必要があります。

名前の変更が多すぎる場合、ヘッダーファイルからC++ #includeを取り出し、それを必要とする.mmファイルに入れるなど、#includeを制限する必要があります。

関連する問題