2012-03-09 13 views
0

Objective-C++コードを呼び出すObjective-Cプロジェクトのサンプルプロジェクトを知っている人は誰でも知っています。例Objective-CプロジェクトObjective-C++コードを呼び出す

私はstackoverflow qを読んだが、他の人に電話をかけてもらうことはできない。 コードサンプルがあれば役に立ちます。

私が持っているObj-C++は、lib .aといくつかのC++ヘッダです。それで全部です。

+0

* "no luck" *とは何を意味していますか?あなたが抱えている問題は何ですか? – sch

+0

@clearbrianあなたが受け取ったコードとエラーを表示する必要があります。あなたが提供する情報が間違っているかどうかを知ることは非常に難しいです。 –

答えて

0

は、ここで私が作ったサンプルプロジェクトは、それがundestandするために、実際には簡単だだ、あなただけ.mmする.Mからあなたのクラスの名前を変更するか、プロジェクト設定でできるのObjective-C++を「などのソースをコンパイル」に設定。私はObjective-C++が助けたようにすべてをコンパイルするための設定を変更するだけでなく、C++の実装をしていないC++ヘッダーにいくつか問題がありました。

コードはhttps://github.com/libec/StackOverflow/tree/master/03-Obj-C%2B%2B

0

ここには例があります。あなたがやろうとしていることや受け取っているエラーについての情報がなければ、あなたをさらに導くことは不可能です。 C++/Objective-C++コードを呼び出すか、C++ - ismsを含むヘッダをインポートするコードは、Objective-C++としてコンパイルする必要があります(.mm拡張子を使用すると、Xcodeは自動的に正しいことを行います)。

/*Objcpp.h 
**********/ 
@interface MyClass : NSObject 
{} 
- (void)myMethod; 
@end 

/*Objcpp.mm 
***********/ 
#import "Objcpp.h" 

@implementation MyClass 

- (void)myMethod { 
    //some c++ and/or objective-c calls 
} 
@end 


/*myobjc.h 
***********/ 

@interface MyObjCClass : NSObject 
{} 
- (void)someMethod; 
@end 

/*myobjc.mm 
***********/ 
#import "myObjCClass.h" 
#import "Objcpp.h" 

@implementation MyObjCClass 

- (void)someMethod { 
    MyClass *o = [[MyClass alloc] init]; 
    [o myMethod]; 
} 
@end 
関連する問題